【发布时间】:2013-11-13 03:43:03
【问题描述】:
我正在尝试使用以下命令从 PHP 运行 Python 脚本:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
然而,PHP 根本不产生任何输出。错误报告设置为 E_ALL 并且 display_errors 开启。
这是我尝试过的:
- 我使用
python2、/usr/bin/python2和python2.7而不是/usr/bin/python2.7 - 我还使用了相对路径而不是绝对路径,它也没有改变任何东西。
- 我尝试使用命令
exec、shell_exec、system。
但是,如果我运行
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
当shutdown now 什么都不做时,它工作得非常好。
PHP 具有访问和执行文件的权限。
编辑:感谢 Alejandro,我能够解决问题。如果您有同样的问题,请不要忘记您的网络服务器可能/希望不会以 root 身份运行。 尝试以您的网络服务器用户或具有类似权限的用户身份登录,然后尝试自己运行命令。
【问题讨论】:
-
首先访问此问题stackoverflow.com/questions/21659637/… 如果未修复并且您遇到类似的问题,如果您遇到导入或 tty 或没有 askpass 无法正常工作的情况,请查看此链接以获取执行它的详细步骤。 stackoverflow.com/a/57978771/9470457谢谢!!!
标签: php python linux exec archlinux