php无法使用MySQLdb执行python脚本

时间:2014-10-31 05:53:37

标签: php python mysql-python

我有两个脚本。

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

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

当我通过命令行运行python脚本时 - 它就像一个魅力。它做了它想做的任何事情。但是当我尝试使用PHP脚本执行python脚本时 - 在我从python脚本中删除导入MySQLdb之前没有任何反应。

我删除"导入MySQLdb"从我的python脚本 - 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;

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

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。这里的关键问题是你的python脚本没有输出任何东西!

并且找出发生了什么的关键是,你需要知道,这里发生了一些错误,但你看不到错误输出。你需要检查这个问题: PHP script can't get output from Python script

这里是简答:你需要exec并将错误输出(stderr)放到stdout。你需要做一些事情: exec('python hello-numpy.py 2>& 1');

你会发现问题,MySQLDB lib需要一些被拒绝的权限。

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