问题:
尝试使用 exec() 从 PHP 执行 Python 脚本时命令,尽管有正确的错误报告和执行,PHP 仍无法产生任何输出
根本原因:
当网络服务器帐户(例如“apache”或“www-data”)缺乏访问和访问所需的权限时,就会出现此问题执行Python文件。默认情况下,Web 服务器帐户通常以有限的权限进行操作。
解决方案:
要解决此问题,必须确保 Web 服务器帐户具有适当的执行权限Python 脚本。这可以通过以下方式实现:
推荐函数:
而不是使用 exec(),它是最好使用 PHP 中的 shell_exec() 函数通过 shell 执行命令。此函数返回执行命令生成的完整输出,如果出现错误或无输出,则返回 NULL。
示例:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
基本注意事项:
为了确保 Python 脚本的正确执行,请将以下行作为第一行脚本:
#!/usr/bin/python
这一行指定要使用的Python解释器,确保与系统上各种Python安装的兼容性。此外,Python 脚本必须具有适当的权限,并且网络服务器帐户必须可以访问任何必要的系统命令或文件。
以上是为什么我的 PHP exec() 函数不运行 Python 脚本,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!