所以我的第一個問題是我在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
所以,我手動更改了家當聲明在腳本中......
#!/usr/local/php5_3/bin/php -q
...果然,它的工作原理。
但是,我不想手動編輯此腳本。我正在尋找一種以編程方式避開此問題的方法。我使用此腳本即時部署Wordpress網站。我每次使用它時都會從git存儲庫中獲取wget
。此外,它從bash腳本中定期刪除並安裝,因此每次在文本編輯器中修改它都不是一種選擇。
有沒有辦法將備用解釋器傳遞給bash命令?比如,「如果你找不到默認解釋器,請改用這個」。
我試過,但它不工作:
./searchreplacedb2cli.php -h hostname -u username -d databasename -p 'password' | /usr/local/php5_3/bin/php
而且因爲它的共享託管我缺乏權限符號鏈接的/ usr/bin中/ PHP到正確的位置。
我的下一個想法是,通過bash,使用sed
replace命令編輯php腳本的第1行。我想我會先在這裏詢問替代品。謝謝。
感謝,學到了一些東西 –