首页 > 解决方案 > 为什么我不能使用 PHP 7 运行 shell 命令?

问题描述

我在使用shell_execexec使用 PHP 7 ( PHP Version 7.0.33-0+deb9u3) 运行 python 脚本时遇到问题。

如果我运行:var_dump(shell_exec("/usr/bin/python3 /home/pi/Documents/GTranslate/translator.py"));var_dump(shell_exec("/home/pi/Documents/GTranslate/translator.py"));
我将获得 back NULL

用户权限没有问题

我已经检查了运行的权限:

$scriptPath = "/home/pi/Documents/GTranslate/translator.py";
var_dump(array(
    'file' => is_file($scriptPath),
    'readable' => is_readable($scriptPath),
    'executable' => is_executable($scriptPath)
));

我得到的一切都是真的。

缺少safe_modephp.ini

在我的 php.ini(由 显示的phpinfo();那个)中没有像safe_mode. 从PHP 5.4.0开始阅读 PHP Wiki,该功能已被删除。

shell_exec()正在工作中

函数 shell_exec() 没有被禁用,因为如果我运行命令:

echo shell_exec("ls -halt /home/pi/Documents/GTranslate/translator.py");

我得到回:

-r-xr-x--x 1 pi pi 1.7K Aug 11 12:13 /home/pi/Documents/GTranslate/translator.py

问题出在哪里?

标签: phppythonexec

解决方案


推荐阅读