2013-07-26 49 views
1

所以我的第一個問題是我在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行。我想我會先在這裏詢問替代品。謝謝。

回答

3

如果只有這臺主機,添加在/ usr /本地/ php5_3 /斌/你的$ PATH,並使用此家當:

#!/usr/bin/env php 
+0

感謝,學到了一些東西 –