Ubuntu サーバーで cron として実行される PHP スクリプトがあります。
次のようなPHPスクリプトからbashスクリプトを実行しようとしています:
exec(escapeshellarg('/bin/bash ') . escapeshellarg("/home/monu/myBash.sh") . escapeshellarg("var1") . escapeshellarg("var2") .escapeshellarg("var3"));
端末でユーザー (monu) として" " を実行するとphp myPHP.php
、次のようなエラーが発生します。
sh: 1: /bin/bash /home/monu/myBash.sh var1 var2 var3: not found
myBash.shの内容は次のようになります。
export CLASSPATH=./:./lib/xp.jar:./lib/ojdbc14.jar:./lib/log4j-1.2.8.jar:./lib/log4j.properties:./lib/log4j.xml
cd someDir
./install.sh $A $B $C $D
cd ..
コマンドラインから BASH スクリプトを手動で実行すると、期待どおりに動作します。
私も試してみましsystem()
たshell_exec()
が、まだ運がありません。
この BASH スクリプトを PHP スクリプトから呼び出して機能させるにはどうすればよいですか?ヒントはありますか?