次のコマンドを使用して、PHPからPythonスクリプトを実行しようとしています。
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
ただし、PHPは出力を生成しません。エラー報告はE_ALLに設定され、display_errorsはオンです。
これが私が試したものです:
- 私が使用され
python2
、/usr/bin/python2
そしてpython2.7
代わりに/usr/bin/python2.7
- また、絶対パスの代わりに相対パスを使用したため、何も変更されませんでした。
- 私は、コマンドを使用してみました
exec
、shell_exec
、system
。
ただし、実行すると
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
shutdown now
何もしなくても完璧に機能します。
PHPには、ファイルにアクセスして実行する権限があります。
編集:アレハンドロのおかげで、問題を解決することができました。同じ問題が発生する場合は、Webサーバーがrootとして実行されていない可能性があることをお忘れなく。ウェブサーバーのユーザーまたは同様の権限を持つユーザーとしてログインして、自分でコマンドを実行してみてください。