所以我的第一个问题是我在 GoDaddy 上托管。
第二个问题是,当我尝试通过 SSH 执行以下 PHP 脚本时...
./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password'
...我得到一个
/usr/bin/php: bad interpreter: No such file or directory错误。这是因为在共享主机上,没有
/usr/bin/php .相反,我想要的 php cli 位于此处:
/usr/local/php5_3/bin/php
因此,我手动将脚本中的 shebang 声明更改为...
#!/usr/local/php5_3/bin/php -q
...果然,它有效。
但是,我不想手动编辑此脚本。我正在寻找一种以编程方式规避此问题的方法。我使用此脚本即时部署 Wordpress 站点。我
wget每次我使用它时,它都来自一个 git 存储库。此外,它会定期从 bash 脚本中删除和安装,因此每次都不能在文本编辑器中对其进行修改。
有没有办法将备用解释器传递给 bash 命令?比如,“如果您没有找到默认解释器,请改用这个解释器”。
我试过这个但它不起作用:
./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password' | /usr/local/php5_3/bin/php
而且因为它是共享主机,所以我没有将/usr/bin/php 符号链接(symbolic link)到正确位置的权限。
我的下一个想法是通过 bash 使用
sed 编辑 php 脚本的第 1 行。替换命令。我想我会先在这里询问替代方案。谢谢。
请您参考如下方法:
如果只有这个主机,添加/usr/local/php5_3/bin/到你的 $PATH,并使用这个 shebang:
#!/usr/bin/env php




