从PHP脚本调用Python脚本/ C ++ exe

时间:2013-09-18 13:25:04

标签: php python

我正在尝试从php执行我的python脚本,如下所示

 exec('python C:/wamp/www/Proj/bin/test_wrapper.py');

它没有启动test_wrapper.py 然后我尝试使用C ++而不是test_wrapper.py创建一个exe,并尝试从我的php调用该C ++ exe,如下所示

 exec('C:/wamp/www/Proj/bin/LaunchEngine.exe');

它没有再次工作。我确信我在使用exec()时缺少一些非常基本的东西。我是python和php的初学者。 我的php,python / C ++ exe在同一个子目录(bin)中。 请帮我。 作为参考,这是我的python脚本test_wrapper.py     导入子流程

def main():
    script=subprocess.Popen('python proj2xml.py')
    script.wait()
    script=subprocess.Popen('python cost2xml.py')
    script.wait()

    launch_fcs_engine=subprocess.Popen('fcs.exe')
    launch_fcs_engine.wait()

if __name__ == '__main__':
    main()

提前致谢

1 个答案:

答案 0 :(得分:1)

我能想到两种可能性。 1.您没有权限执行test_wrapper.py脚本,更改文件的权限, 2.如果您尝试通过浏览器运行PHP脚本,那么您的PHP脚本将在apache用户上执行,并且您的python没有作为apache ueser运行的权限。 (当您在命令行上测试python脚本时,您将以root身份运行。您可能没有以root身份运行Web服务器(这是一件好事),并且Web服务器的用户没有相应的权限来创建和/或写入该文件。) 我对windows不太熟悉,请在windows中尝试chmod和chown linux命令等效。

请验证。