php无法使用MySQLdb执行python脚本


php cannot execute python script with MySQLdb

我有两个脚本。

1-php web脚本,它从用户那里收集信息,并执行python脚本,将所有收集的数据作为参数发送

2-python脚本,它使用sys.argv从php脚本中获取参数,并使用MySQLdb 更新MySQL

当我通过命令行运行python脚本时,它就像一个魅力。它做它想做的任何事情。但当我尝试使用PHP脚本执行python脚本时,什么都不会发生,直到我从python脚本中删除importMySQLdb。

只要我从python脚本中删除"importMySQLdb",PHP脚本就可以执行它,它们都可以工作(除了更新MySQL)。

你知道出了什么问题吗?

p.S。我试图得到一个错误

在python文件中,我使用这个:

import traceback
import sys
import MySQLdb
# Some classes and functions
if __name__ == '__main__':
    try:
        main()
    except Exception, err:
        print traceback.format_exc()

在php中我使用:

$result = shell_exec("/usr/bin/python /FULL_PATH_TO/script.py $argument";
echo $result;

但是。。。没有什么网页只是重新加载而不提供任何信息

我遇到了同样的问题。这里的关键问题是,您的python脚本没有输出任何内容!

发现发生了什么的关键是,你需要知道,这里发生了一些错误,但你看不到错误输出。你需要检查这个问题:PHP脚本可以';t从Python脚本获取输出

这里有一个简短的答案:您需要执行并将错误输出(stderr)放入stdout。你需要做一些事情,比如:exec('ython hello-numy.py 2>&1');

你会看到问题,那一定是MySQLDB库需要一些被拒绝的权限。

如何获得所需的权限,这是另一个问题:)