Php “我该如何解决?”;糟糕的翻译”;解释器位于非标准位置时出错?
所以我的第一个问题是我在GoDaddy上主持节目 第二个问题是,当我试图通过SSH执行以下PHP脚本时Php “我该如何解决?”;糟糕的翻译”;解释器位于非标准位置时出错?,php,wordpress,bash,shell,ssh,Php,Wordpress,Bash,Shell,Ssh,所以我的第一个问题是我在GoDaddy上主持节目 第二个问题是,当我试图通过SSH执行以下PHP脚本时 ./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password' …我得到一个/usr/bin/php:bad解释器:没有这样的文件或目录错误。这是因为在共享主机上,没有/usr/bin/php。相反,我想要的php cli位于以下位置: /usr/local/php5_3/bin/php 所以,
./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password'
…我得到一个/usr/bin/php:bad解释器:没有这样的文件或目录
错误。这是因为在共享主机上,没有/usr/bin/php
。相反,我想要的php cli位于以下位置:
/usr/local/php5_3/bin/php
所以,我手动将脚本中的shebang声明更改为
#!/usr/local/php5_3/bin/php -q
…果然,它起作用了
但是,我不想手动编辑此脚本。我正在寻找一种通过编程绕过这个问题的方法。我使用此脚本动态部署Wordpress站点。每次使用它时,我都会从git存储库中获取它。此外,它是定期从bash脚本中删除和安装的,因此每次在文本编辑器中修改它都不是一个选项
有没有办法向bash命令传递备用解释器?比如,“如果找不到默认的解释器,请使用这个解释器”
我试过这个,但不起作用:
./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password' | /usr/local/php5_3/bin/php
由于它是共享主机,我没有将symlink/usr/bin/php链接到正确位置的权限
我的下一个想法是,通过bash,使用
sed
replace命令编辑php脚本的第1行。我想我会先在这里询问其他选择。谢谢。如果只有此主机,请将/usr/local/php5_3/bin/添加到您的$PATH中,并使用此shebang:
#!/usr/bin/env php
如果只是此主机,请将/usr/local/php5_3/bin/添加到$PATH中,并使用以下命令:
#!/usr/bin/env php