2016-07-24 8 views
0

上で実行されていないこと/usr/bin/バッシュスクリプトここでは、ブラウザ

#!/bin/sh 
convert source.jpg -define jpeg:extent=256kb destination.jpg; 

と私のPHPコードで私のbashスクリプトファイルである:

echo exec('/usr/bin/myscript'); 

しかし、それはブラウザで動作していない、それがで正常に動作していますターミナル。

どうか私に教えてください。

ありがとうございました

+2

サーバーを実行すると、フォルダへのアクセス権を持つLinuxユーザその下にあることを確認します。関連するユーザは、システムと使用しているWebサーバによって、nginx、www-dataなどとなります。 – mastazi

+0

PHPスクリプトの作業ディレクトリに 'source.jpg'ファイルがありますか? – Barmar

+1

'exec()'でシェルコマンドの最後に '2>&1'を追加すると、エラーメッセージが表示されます。 – Barmar

答えて

0

試して物事のカップル:

CHMODスクリプト777

にあなたのbashスクリプトにサーバのフルパス使用 - あなたはそれをやっているが、私はちょうど誰かがこれを読んでそれを知らなかった場合にこれを加えました。

なぜPHPコードにエコーがありますか?

<?php exec('bash /usr/bin/myscript'); ?> 
0

これはうまくいかないと思います。ブラウザでbashスクリプトを実行すると、セキュリティの脆弱性とみなされます。これが達成できれば、文字通りあなたのPCはどのウェブサイト/スクリプトでも制御できると想像してください。だから、私はこれが可能だとは思わない。

+1

PHPはクライアントではなくサーバー上で動作します。私は彼がちょうどサーバー上のスクリプトを開始するブラウザを使用したいと思う。 – Barmar

0

ファイルを送信元と送信先へのフルパスを使用してみてください:

#!/bin/sh 
convert /tmp/source.jpg -define jpeg:extent=256kb /tmp/destination.jpg; 
関連する問題