在PHP中运行Python脚本 我的目标

在PHP中运行Python脚本 我的目标,php,python,Php,Python,就是使用PHP运行我的python脚本。 当我点击开始按钮时,我在前端有一个开始按钮。它启动了一项服务 试试1 仍然不起作用 试试2 仍然不起作用 试试3 chmod a+x开始客户端sim.py 再次尝试仍然是相同的结果 试试4 如果我直接执行命令 python/Applications/MAMP/htdocs/code/site/portal/public/python‌/启动\u clientsim.py 2>&1 我让它运行得很好 试试5 我尝试使用不同的python简单脚本 pytho

就是使用PHP运行我的python脚本。 当我点击开始按钮时,我在前端有一个开始按钮。它启动了一项服务

试试1 仍然不起作用

试试2 仍然不起作用

试试3 chmod a+x开始客户端sim.py

再次尝试仍然是相同的结果

试试4 如果我直接执行命令

python/Applications/MAMP/htdocs/code/site/portal/public/python‌/启动\u clientsim.py 2>&1

我让它运行得很好

试试5 我尝试使用不同的python简单脚本

python/Applications/MAMP/htdocs/code/site/portal/public/python/print.py

print.py

我得到

结果:你好,世界

问题
如何进一步进行调试呢?

一种方法是用C编写一个PHP模块,它基本上充当python解释器的网关,然后通过它提供所有内容。这会更有效率,我也会这么做。

公共路径的价值是什么?您可以尝试提供python二进制文件的完整路径,找到它,使用哪个python。echo python.public\u path./python/start\u clientsim.py 2>&1的输出是什么?如果粘贴到shell上,此输出是否运行正常?是否尝试从运行Web服务器的用户启动相同的脚本?可能是www-data、httpd、apacheetc@PedroLobito:python/Applications/MAMP/htdocs/code/benu/ssc portal/public/python/start\u clientsim.py 2>&1这意味着exec可用。很可能是关于permissons的,就像@Marat建议的那样。使用chmod0755@ihue要检查是否存在这种情况,您需要找出用户名。然后切换到所需的用户终端sudo su并运行所需的命令。如果它有效,那么您可以将chmod 755或chown/chgrp服务脚本添加到脚本组,或者将用户名添加到脚本组-有很多方法可以授予执行权限谢谢您的回答,但我不是C专家,但如果在接下来的几天内什么都没有,我将对此进行调查我的意思是,您基本上要做的是用C语言制作一个PHP模块,它与python DLL文件或类似python解释器的.exe文件进行对话。可能需要查看python源代码以了解.exe如何与DLL对话:。或者你可以在PHP模块中调用execute命令,但是我不建议我首先提到的那一个会更好,如果我们现在讨论的是linux的话。jk。你的建议对我来说是非常技术性的,我完全尊重这一点。但我不知道从哪里开始。我先说谢谢你!我的意思是我只写过hello world PHP模块。但是这些东西不是为不使用它们的人设计的。它们设计得很好,我相信你可以这样做。对于你所做的事情来说可能是过度的,没有问题:
$command = escapeshellcmd("python ".public_path().'/python/start_clientsim.py 2>&1');
$result = exec($command);
$command = escapeshellcmd("python ".public_path().'/python/start_clientsim.py 2>&1');
$result = shell_exec($command);
-rwxr-xr-x  1 bheng  staff  1154 May 17 19:42 start_clientsim.py
# This program prints Hello, world!

print('Hello, world!')