2016-07-01 7 views
0

私は同じディレクトリにあるスクリプトをPHPで実行しようとしています。このスクリプトは、ローカルで正常に動作し、HTTPデータのユーザーの権限は、スクリプトは、私が理解から、システムの方法を用いて微細な実行すべきPHPPHPがLuaスクリプトを実行するのに問題があります

$cmd = system('th neural_style.lua -style_image'.' ~/'.$style.'.jpg '.'-content_image '.$content_image.' -gpu 0 -backend cudnn -save_iter 1 -cudnn_autotune -output_image /var/www/html/processed/'.$email.'/out.png 2>&1', $retval); 
echo ' 
</pre> 
<hr />Recent output: ' . $last_line . ' 
<hr />Return value: ' . $retval; 

のこのブロックで参照スクリプトを実行することができるように設定されています私はこれは私がPHPから取得エラーですが、変数が乱雑に見える知っている:

SH:番目:コマンド

を見つけていない私はダッシュ思考の代わりにbashに私のデフォルトの通訳を設定するかもしれません問題は、ダイスはありません。 Torchは同じディレクトリにあり、私のログインと同じように実行されているようです。

私は自分のやり方を慎重に考えていますが、Webからのユーザー入力を使って約8分かかるスクリプトを実行するより良い方法があれば、知りたいと思います。これは私にとって自然なことです。私は、電子メールでプロセスが完了したらユーザーに通知することを検討しています。それを実行する方法はちょうどいいです。

編集:「http-data」の言葉は「www-data」と言われていました。

答えて

0

http-dataのデフォルトシェルをbashまたはdashに変更してください。現在、shを使用しています。

$PATH変数がPHP環境内にあるかどうかを確認してください。

+1

http-dataのデフォルトをbashに変更して再起動しました。 私の$ PATHをTorchにチェックし、 '/ var/www/html/torch'の中にあった場所と'/home/username/torch/install/bin/'の元の場所を試してみました。 .bashrcとどちらもうまくいきませんでした。再起動したapache2もそうではありません。 –

+0

@DylanMooreもしエラーが同じであれば、 'system( 'echo $ PATH');'を実行してください。 – hjpotter92

+1

'/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin' 他のパスを理解するにはどうすればよいですか?尋ねる前にそれを見て、一見するとリンクがない。 –

関連する問題