2

少し特殊な状況があります。ImageMagick が提供する「convert」コマンドに依存する、Diascope という PHP スクリプトからビデオ エンコーディング プログラムを実行しようとしています。非常に単純な変換を実行してから、Diascope というアプリケーションを実行する bash スクリプトがあります。これは変換コードであり、次のように動作し、新しいファイルを作成します

convert image.jpg image.png

エラーは表示されませんが、次のように Diascope を実行します

diascope -clean audio.txt

そして、「Diascope 0.2.1」と表示されるため、Diascope がプロパティをロードすることがわかります。

diascope 0.2.1 (ms 2006-2010) スライドショー ジェネレータ ドキュメントと更新については、 http: //diascope.sf.net を参照してください。

エラー: 実行可能プログラムが見つかりません: 変換 リリース ノートで diascope の要件を参照してください。

実行するshell_exec("whoami");と「nobody」と出力されます

では、convert を単独で実行できるのに、「diascope」プロセスがそれを利用できないように見えるのはなぜですか? 777 にアクセスして chmodしようとしまし/usr/local/bin/convertたが、効果がないようでした。ここで他に何を試すことができますか?

更新:おそらく、端末でルートとして実行しようとすると、audio.flv ファイルが作成されますが、返さdiascope -clean audio.txtれないように見えることを追加する必要があります。sudo su nobodyThis account is currently not available.

4

1 に答える 1

4

PHPはapacheと同じユーザーとして実行されます。これは通常、www-dataまたはnobodyです。suPHP + apacheを使用して、PHPを実行するユーザーを変更できると思います。

于 2012-01-03T02:01:47.220 に答える