PDF を JPG に変換するコマンドを実行するために exec() を呼び出す特定の PHP スクリプトがあります。このコマンドは bash で正常に機能します。
最初のトラブルシューティングの推測を回避するには、次の点に注意してください。
- safe_mode = オフ
- PDF とスクリプトを含むディレクトリのアクセス許可は 777 に設定されており、このディレクトリは JPG が書き込まれている場所でもあります。
- exec() に渡すコマンドは、使用されているバイナリを明示的に指しています (例: /usr/local/bin/convert)。
- display_errors = オン
- error_reporting = E_ALL
- disable_functions = [空白]
- exec() の出力をエコーしていますが、何も返されません。デフォルトで実行されるコマンドは何も返しません。
この PHP スクリプトをブラウザーから呼び出すと ( http://www.example.com/script.phpにアクセスして)、 exec() はその引数を実行しません。
重要: スクリプトや bash コマンドの作成方法に問題がないことはわかっています。なぜなら、bash から「php」を使用してスクリプトを実行でき、それが機能するからです (たとえば、「php script.php」はファイルを変換します)。
また、exec() を system() に切り替えようとしました。
最後に、過去にこの問題が発生したことがありますが、どのように修正したか思い出せません。
私は何かが欠けていることを知っているので、他の誰かが私と同じようにこれを経験し、それを修正する方法を覚えていることを願っています!
ご提供いただけるご支援をよろしくお願いいたします。
アレックス