2012-05-02 8 views
1

から呼び出されるまで、作品と呼ばれているスクリプトは、私はbashスクリプトがあります:私は、端末からこのプログラムを実行するとのexec /システム() - PHP

run.sh

#!/bin/sh 
cd /var/www/project/bin/ 
CMD="./executable <full_path_to_file>; 
$CMD 

を。

system("full_path_to_sh_file", $out); 

は、それが正常にスクリプトを呼び出し、さらに実行可能ファイルを実行しますが、今実行ファイルが供給というエラーがスローされます:私はPHPからそれを呼び出すときしかし

(すなわち./run.sh、それが正常に動作します)ファイルが見つかりません。

アイデア?あなたがWebサーバやコマンドラインから、PHPスクリプトを実行するにはどうすればよい

+0

shスクリプトでファイルの呼び出しが見つからないスクリプトファイルですか? –

+0

実行ファイルが読み込むで指定されたファイル。また、これは相対パスではないfull_pathであることにも注意してください。そして –

+0

端末から(すなわちないPHPから)実行したときにこのスクリプトが実行されることは、ファイルのパーミッション何ですか? –

答えて

1
  1. ?ウェブサーバから、どのようなユーザーであれば
  2. それが実行
  3. は、あなたが端末から実行しているときと同じよう必ず環境を作る(HTTPDまたはApache?)(例:同じユーザーを)
  4. は、など、さまざまな実行している場合は、これを試してみてくださいユーザー: sudo -u apache /fullpath/run.sh
+0

1. Webサーバーから実行中です。 2. Apacheの –

+0

は、ユーザー/許可し、ステップ4へと私にビットを与え、私はそれを見てあげます。 :)ありがとう。 –

+0

良い神です..それは許可の問題でした。 :) 再度、感謝します –