質問: ### 前提・実現したいこと Wordpress上でpythonコードを走らせたかったため、 phpを介してexec()関数でpythonを呼び出すことを試みています。 Wordpressはレンタルサーバー(さくらサーバー)上にあるため、 pythonコードについては自前のPCで動作確認をして問題ないことを確認しています。 Wordpress上からphpを呼びだすまでは行ったのですが、 pythonが起動しないため困っています。 python3系のプログラムを動かしたかったので、python3.4.3(自前のPCにインストールと同じバージョン)を、サーバーには手動でインストールしています。 ### 発生している問題・エラーメッセージ php上からpythonが呼び出されません。 ### 該当のソースコード &1'; if(!exec($fullPath, $outpara)){ echo 'Python読み込み失敗'; } $i=0; while($outpara[$i]!=NULL){ echo $outpara[$i]; $i=$i+1; } ?> --出力結果-- PHP稼動テストpython3.4: not found ### 試したこと コマンドをpython3.4 → python に変更するとpython上の文法エラーが 吐き出されるので関数とphpは読み込んでいる様子。(コードが3系、コマンドpythonではサーバーでpython2.7が呼び出されるので文法エラーになります) Tera Termでphpの所在ディレクトリまで潜りphpを起動した際には 問題なく動作したため、Wordpressの設定前後の問題かと思うのですが、 Wordpressもphpも初心者のため悪いところの検討がついていません。 また同フォルダでpython3.4のコマンドが有効なこともTeraTerm上では確認しています。 少しでもヒントが欲しい状況です。よろしくお願いいたします。 ### 補足情報(FW/ツールのバージョンなど) 使用サーバー:さくらレンタルサーバー Python ver. : Python3.4.3 PHP ver.(さくらでの指定):PHP7.2.10(モジュール版)
回答: exec()で実行する場合はフルパスで指定してあげる必要があります。 ``` which Python3.4 ``` みたいな感じでフルパスを確認して指定してみて下さい。