問題:
exec() を使用して PHP から Python スクリプトを実行しようとするとコマンドを実行しても、適切なエラー報告と実行にもかかわらず、PHP は出力を生成できません。
根本原因:
この問題は、「apache」や「www-data」などの Web サーバー アカウントに、アクセスやアクセスに必要な権限がない場合に発生します。 Pythonファイルを実行します。デフォルトでは、Web サーバー アカウントは制限された権限で動作することがよくあります。
解決策:
この問題を解決するには、Web サーバー アカウントに適切な実行権限があることを確認することが重要です。 Python スクリプト。これは次の方法で実現できます。
推奨関数:
exec() を使用する代わりに、シェル経由でコマンドを実行するには、PHP のshell_exec() 関数を利用することをお勧めします。この関数は、実行されたコマンドによって生成された完全な出力を返します。エラーまたは出力がない場合は NULL を返します。
例:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
重要な考慮事項:
Python スクリプトを適切に実行するには、次の行をスクリプトの最初の行として含めます。 script:
#!/usr/bin/python
この行は、使用する Python インタープリターを指定し、システム上のさまざまな Python インストールとの互換性を確保します。さらに、Python スクリプトには適切な権限が必要であり、必要なシステム コマンドまたはファイルが Web サーバー アカウントからアクセスできる必要があります。
以上がPHP exec() 関数が Python スクリプトを実行しないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。