前提・実現したいこと
WordPressでPythonを使いたいです。
発生している問題・エラーメッセージ
エラーもなく、何が実行されていないのかわかりません。
該当のソースコード
WordPress内でJSやPHPは少し書いたことがありますが、Pythonは初めてで、まったくわからない状況にあります。
調べた結果、例えば「py1.py」が実行したいPythonだったとしたら、下記をheader.phpに書けば実行できるというような情報を得たのですが、出力されるのは「読み込み失敗」です。
「py1.py」
python
1print('テキスト1') 2print('テキスト2')
「header.php」
php
1<body> 2 3<?php 4$py_url = get_template_directory_uri() . '/py/py1.py'; 5$command = 'export LANG=ja_JP.UTF-8;python ' . $py_url; 6if(!exec($command, $output)){ 7 echo '読み込み失敗'; 8}else{ 9 echo '成功'; 10 foreach($output as $o){ 11 echo $o . '<br>'; 12 } 13} 14?>
試したこと
ポイントとしてフルパスであることが重要との情報を得ました。ディレクトリを確認したところ下記で間違いなく、そのため上記$py_urlとしました。
wp-content ├ themes └ my-theme-name ├ header.php ├ py └ py1.py
しかしいくつか調べるとこのフルパス($command部分)の指定にいろいろなパターンがあるようで、それを真似て下記のように計3通りを試しましたが、すべて同じ結果で出力されるのは「読み込み失敗」です。
php
1$command = 'export LANG=ja_JP.UTF-8;python ' . $py_url; 2$command = 'python3 .' . $py_url; 3$command = 'python3.4 '. $py_url . '2>&1';
もし試すべきこと、明らかな間違いなどございましたらご指摘いただけましたら幸甚に存じます。
どうぞ宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
使用バージョンは最新の以下になります。
WordPress 5.0.3
PHP 7.3
###追記
python の部分を インストールパス/python のように記載すると、以下のように「成功」となりましたが、ファイルがないというエラーになります。
成功/usr/bin/python: can't open file 'http://example.com/wp-content/themes/my-theme-name/py/py1.py': [Errno 2] No such file or directory
尚、上のエラー文のURLにアクセスすると、きちんと下記の「py1.py」ファイルがダウンロードできるので、ファイルがないというエラーがなぜ出るのか…不明です。
python
1print('テキスト1') 2print('テキスト2')
以下が実行コードになります。修正は2行目です。
「header.php」
php
1<body> 2 3<?php 4$py_url = get_template_directory_uri() . '/py/py1.py'; 5$command = '/usr/bin/python '.$py_url.' 2>&1'; // ここを修正したところ上記エラーです 6if(!exec($command, $output)){ 7 echo '読み込み失敗'; 8}else{ 9 echo '成功'; 10 foreach($output as $o){ 11 echo $o . '<br>'; 12 } 13} 14?>

回答1件
あなたの回答
tips
プレビュー