尝试在 PHP 中使用 exec() 运行 Python 脚本时,遇到缺少输出的情况可能会令人沮丧。出现此问题的原因有多种,但以下综合指南将有助于解决该问题。
确保正确输入命令。在您的情况下,请检查以下内容:
另外,尝试一个简单的 echo 命令来测试命令执行功能:
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
如果 echo 命令有效,则表明核心执行功能正常运行,缩小问题范围。
运行 PHP 脚本的用户帐户可能没有足够的权限权限。 Apache 通常在用户 www-data 下运行,因此请以该用户或具有类似权限的其他用户身份登录,并尝试手动运行命令。如果执行成功,则问题出在权限上。
考虑使用 shell_exec() 代替 exec(),它提供了更大的灵活性:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python 脚本必须在第一个脚本中使用适当的 shebang 行进行正确配置line:
#!/usr/bin/env python
Python 脚本 (test.py) 及其中的任何命令都必须具有适当的权限。例如,chmod x test.py 设置可执行权限。
以上是为什么我的 PHP 代码不能执行我的 Python 脚本并显示输出?的详细内容。更多信息请关注PHP中文网其他相关文章!