1

我正在尝试从 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()

提前致谢

4

1 回答 1

1

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

请核实。

于 2013-09-18T13:41:35.897 回答