phpからshellコマンドを動かす時のお話し
phpから shell_exec() とか system() とかを使って、shellコマンドを実行しうとしたら、はまりまくった時のお話しです。
$output = `shell_exec('ll -a')`; echo $output;
これが動かなかったわけです。
llが認識されていないような気がしたので、エイリアスじゃないのでためしたら
$output = `shell_exec('ls -lart')`;
問題なかったです。
シェルなのか実行ユーザーの権限なのかわかりませんが、コマンドもフルパスで指定すれば大丈夫な予感がしたので、
$output = `shell_exec('/bin/ls -lart')`;
みたいな感じにしたわけです。
例が分け解らない事になってますが、実際にやりたかった事は、phpからpythonスクリプトを動かしたかったって事です。
なんで、そんな変な事するのかと言われれば、phpコードに治すのがめんどかったのと、簡単にできると思っていたからで、、、
要は、こんな感じです。
// 失敗 $output = `python getTargetFile.py`; // 成功 $output = `/user/bin/python getTargetFile.py`;