PHP で exec() を使用して Python スクリプトを実行しようとすると、出力が不足してイライラすることがあります。この問題はさまざまな理由で発生する可能性がありますが、次の包括的なガイドが問題の解決に役立ちます。
コマンドが正しく入力されていることを確認してください。あなたのケースでは、以下を確認してください:
さらに、簡単な echo コマンドを試してコマンド実行機能をテストします。
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
echo コマンドが機能する場合は、コア実行機能が適切に機能していることを示しています。
PHP スクリプトを実行しているユーザー アカウントには、次の権限がない可能性があります。十分な権限。通常、Apache はユーザー www-data で実行されるため、そのユーザーまたは同様の権限を持つ別のユーザーとしてログインし、コマンドを手動で実行してみます。正常に実行された場合、問題は権限にあります。
exec() の代わりに、より柔軟性のあるshell_exec() の使用を検討してください。
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python スクリプトは、最初の行に適切なシバン行を使用して正しく構成されている必要がありますline:
#!/usr/bin/env python
Python スクリプト (test.py) とその中のコマンドの両方に、適切なアクセス許可が必要です。たとえば、chmod x test.py は、実行可能権限を設定します。
以上が私の PHP コードが Python スクリプトを実行せず、出力を表示しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。