首页 > 后端开发 > php教程 > 为什么我的 PHP 代码不执行我的 Python 脚本,我该如何修复它?

为什么我的 PHP 代码不执行我的 Python 脚本,我该如何修复它?

Patricia Arquette
发布: 2024-12-17 16:50:13
原创
118 人浏览过

Why Doesn't My PHP Code Execute My Python Script, and How Can I Fix It?

从 PHP 无缝运行 Python 脚本

要使用 PHP 执行 Python 脚本,有多种方法可用,包括 exec、shell_exec 和 system 。但是,在 PHP 中使用 exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py​​ arg1 arg2') 时,尽管将错误报告设置为 E_ALL 并启用了 display_errors,但可能不会生成任何输出。

要解决此问题,验证 Web 服务器用户是否具有访问和执行 Python 脚本及其关联命令的必要权限至关重要。具体来说,Python 文件应该具有执行权限,并且所有内部命令也应该设置适当的权限。

解决 shell_exec 的问题

Ubuntu Server 10.04 证明为该解决方案提供合适的环境。通过利用 PHP 的 shell_exec 函数,可以执行该命令并将输出作为字符串返回。以下 PHP 代码片段举例说明了这种方法:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
登录后复制

Python 脚本中 Shebang 行的重要性

Python 脚本 (test.py) 应以以下行确保调用正确的解释器:

#!/usr/bin/env python
登录后复制

此行指示系统使用 $PATH 环境变量中指定的 Python 解释器,确保与安装的各种 Python 版本兼容。

要使 test.py 脚本在基于 Unix 的平台上可执行,请运行以下命令:

chmod +x myscript.py
登录后复制

文件和命令的执行权限

除了设置Python脚本的可执行权限之外,同样重要授予 Web 用户(通常是 www-data/apache)对该文件及其内部命令的执行权限。否则可能会导致脚本无法正常执行。

以上是为什么我的 PHP 代码不执行我的 Python 脚本,我该如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板