私はフォームを表示するためにHTMLを使用するWebアプリケーションを作成しています。その後、ユーザはフォームを完成させ、提出すると、フォームはPHPに送られます。 PHPファイルでは、データを返すPythonファイルを呼び出すためにexec()コマンドを設定しています。しかし何らかの理由で私は何も戻っていません。私は端末でコマンドを実行するとすばらしいが、ウェブブラウザでは応答がなかった。Python関数を呼び出すときに私のPHP exec()が動作しないのはなぜですか?
HTML:
<form id ="nameForm" action="python.php" method="post" target="_blank">
<label>First Name:</label><input type="text" id="firstName" name="firstName"><br>
<label>Last Name:</label><input type="text" id="lastName" name="lastName"><br>
<input type="submit" id="submitName" value="Submit">
</form>
PHP:
$firstName = $_REQUEST['firstName'];
$lastName = $_REQUEST['lastName'];
exec("/opt/http/PythonWeb/web/python pythonName.py " . $firstName . " " . $lastName, $response);
echo $response;
のPython:
import sys
def main():
firstName = sys.argv[1]
lastName = sys.argv[2]
output = ""
output += "<html>\n"
output += " <head><title></title></head>\n"
output += " <body>\n"
output += " <p>Hi " + firstName + " " + lastName + "</p>\n"
output += " </body>\n"
output += "</html>\n"
print output
if __name__ == '__main__': main()
私に間違っているかもしれないものに関してはいくつかの提案をお願いします。私はPythonの初心者ですが、それは上司が望んでいるものなので...私はこの仕事をするつもりです。ありがとう!
この目的のためにPHPとPythonを混在させるのはちょっとばかげているようです。私はあなたのアプリをPythonで書くか、PHPで書くことを提案しますが、両方ではありません。 – rdlowrey
あなたのサーバーは 'パススルー 'を許可していますか?もしそうなら、より一般的な組み込みコマンドで試してみるとどうなりますか?出力が出ますか?また、 'error_reporting(-1);'を入れてみてください – Mike