exec、shell_exec、またはシステム コマンドを使用して PHP から Python スクリプトを実行しようとする場合、セキュリティ コンテキストを考慮することが重要です。 Web サーバーの。多くの場合、Web サーバーにはスクリプトを実行するための十分な権限がない可能性があります。
権限関連の問題を診断して解決するには、次のコード スニペットを実行してみると役立ちます。 :
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
このコードが機能する場合、PHP の exec 関数が正しく機能していることを示します。ただし、PHP が出力の生成に失敗した場合は、Web サーバー ユーザーに適切な権限がない可能性があります。
exec を使用する代わりに、shell_exec 関数を使用することもできます。 PHPで。 Shell_exec は、実行されたコマンドの完全な出力を返します。エラーが発生した場合、または出力が生成されなかった場合は NULL を返します。使用例:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python スクリプトが適切に実行されることを確認するには、スクリプトの最初の行に次のシバンが含まれていることを確認します:
#!/usr/bin/env python
このシバンは、使用するインタープリターを指定し、正しい Python バージョンが確実に使用されるようにするために重要です。
スクリプトが実行可能として認識されるようにするには、適切な権限があることを確認してください。 UNIX タイプのプラットフォームでは、次のコマンドを使用します。
chmod +x myscript.py
さらに、Python スクリプトとその中で呼び出されるコマンドには、実行に必要な権限が必要です。
ユーザーの権限とshell_exec を使用すると、PHP から Python スクリプトを効果的に実行でき、2 つの言語間の安全かつ機能的な統合が保証されます。
以上がPHP から Python スクリプトを安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。