ホームページ >バックエンド開発 >PHPチュートリアル >PHP から Python スクリプトを正常に実行するにはどうすればよいですか?
PHP には、exec、shell_exec、system などの外部コマンドを実行するための関数がいくつか用意されています。ただし、これらの関数を使用して Python スクリプトを実行しようとすると、問題が発生する可能性があります。
トラブルシューティング:
この問題を解決するために、次のようなさまざまな解決策を試みました。
しかし、PHP は依然として出力を生成しないことに気づきました。
解決策:
問題は PHP ではなく権限にある可能性があります。通常、Web サーバーは制限されたユーザー権限で実行され、特定のコマンドの実行やファイルへのアクセスが制限される場合があります。
ウェブサーバーを実行しているユーザーとしてサーバーにログインします (例: www-data).
PHP で実行しようとしているコマンドを使用して、 Webサーバーユーザーとして端末を操作します。例:
/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2
コマンドが手動で機能する場合、問題は権限にあることが確認されます。
PHP スクリプトと Python スクリプトに正しい権限があることを確認してください。 PHP には PHP スクリプトの実行権限が必要で、Python スクリプトには Web サーバー ユーザーの実行権限が必要です。
PHP の shell_exec 関数は、通常、exec や system よりも外部コマンドの実行の信頼性が高くなります。実行されたコマンドからの完全な出力が返されます。次のコードを使用します:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python ファイルの最初の行に次の内容が含まれていることを確認します。 shebang 行:
#!/usr/bin/env python
この行は、Python インタープリターを指定します。 use.
必要に応じて、以下を使用して Python ファイルを UNIX タイプのプラットフォームで実行可能にします:
chmod +x myscript.py
以上がPHP から Python スクリプトを正常に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。