私の最初の問題は、私が GoDaddy でホスティングしていることです。
2番目の問題は、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 サイトをその場でデプロイします。wget
使用するたびにgitリポジトリから取得します。さらに、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 行目を編集することでした。代替案については、まずここに問い合わせてみようと思いました。ありがとう。