Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “我该如何解决?”;糟糕的翻译”;解释器位于非标准位置时出错?_Php_Wordpress_Bash_Shell_Ssh - Fatal编程技术网

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 所以,

所以我的第一个问题是我在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
所以,我手动将脚本中的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