【发布时间】:2014-12-13 22:32:43
【问题描述】:
我试图在我的 XAMPP 服务器中执行 python 脚本,但每次调用脚本时都会得到一个空白页。当我尝试在地址 localhost/cgi-bin/script.py 中执行它时,它工作正常,但是当我尝试在 htdocs 中执行它时,它是空白的。在我的 htdocs 目录中,我有 2 个文件:
html 文件:
<!DOCTYPE html>
<html>
<body>
<form name="input" action="http://localhost/insert.PHP" method="post">
User: <input type="text" name="user" value="Obama"><br>
Password: <input type="password" name="pass">
<input type="submit" value="Submit">
</form>
</body>
</html>
insert.php 文件,它带来 .py 文件来执行:
<?php
$Nome = $_POST['user'];
$Password = $_POST['pass'];
echo ini_get("disable_functions");
$python = exec('C:\xampp\cgi-bin\script.py');
echo $python;
?>
最后在cgi-bin目录下.py文件(script.py):
#!C:\Python27\python.exe
import cgitb
cgitb.enable()
print "Content-Type: text/html"
print
print """
<TITLE>CGI script</TITLE>
<H1> just fine !</H1>
"""
print " <p>I am a script in python! </p>"
所以我输入用户名和密码,它重定向到 insert.php,我得到一个空白页。谢谢!
【问题讨论】:
-
阅读 PHP exec 的文档。 php.net/manual/en/function.exec.php 它确实不返回所执行命令的完整输出。为什么你首先要通过 PHP 运行 python 脚本?为什么不直接执行呢?
-
谢谢,问题确实是从 php 调用的。