ホームページ >バックエンド開発 >PHPチュートリアル >私の PHP コードが Python スクリプトを実行しないのはなぜですか?それを修正するにはどうすればよいですか?

私の PHP コードが Python スクリプトを実行しないのはなぜですか?それを修正するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-17 16:50:13123ブラウズ

Why Doesn't My PHP Code Execute My Python Script, and How Can I Fix It?

PHP から Python スクリプトをシームレスに実行する

PHP を使用して Python スクリプトを実行するには、exec、shell_exec、system などのいくつかの方法が使用できます。 。ただし、PHP で exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py​​ arg1 arg2') を使用すると、エラー報告を E_ALL に設定し、display_errors を有効にしても、出力が生成されないことがあります。

この問題をトラブルシューティングするには、Web サーバー ユーザーが Python スクリプトとその関連コマンドにアクセスして実行するために必要な権限を持っていることを確認することが重要です。具体的には、Python ファイルには実行権限が必要であり、すべての内部コマンドにも適切な権限が設定されている必要があります。

shell_exec による問題の解決

Ubuntu Server 10.04 は証明します。このソリューションに適した環境であること。 PHP のshell_exec 関数を利用すると、コマンドを実行し、出力を文字列として返すことができます。次の PHP コード スニペットは、このアプローチの例を示しています。

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;

Python スクリプトにおける Shebang 行の重要性

Python スクリプト (test.py) は、次の行は、正しいインタープリタが呼び出されることを確認するためのものです:

#!/usr/bin/env python

この行$PATH 環境変数で指定された Python インタープリタを使用するようにシステムに指示し、インストールされているさまざまな Python バージョンとの互換性を確保します。

Unix ベースのプラットフォームで test.py スクリプトを実行可能にするには、次のコマンドを実行します。

chmod +x myscript.py

ファイルとコマンドの実行権限

は別にPython スクリプトの実行権限を設定することと同様に、Web ユーザー (通常は www-data/apache) にファイルとその内部コマンドの両方に対する実行権限を付与することが重要です。そうしないと、スクリプトが正しく実行されなくなる可能性があります。

以上が私の PHP コードが Python スクリプトを実行しないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。