php - 为什么我不能使用 PHP 7 运行 shell 命令?
问题描述
我在使用shell_exec
或exec
使用 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_mode
php.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
问题出在哪里?
解决方案
推荐阅读
- ios - 如何使分组的 ListView 标题在 iOS 中正确浮动(不粘)?
- python - 两个列表乘积的最大和
- html - Squarespace 网站上的视差抖动
- ios - 为什么 iOS 模拟器会在 ALL CAPS 中显示标签栏标签,然后切换回 Title Case?
- sql - 从日期列表中总结日期
- json - 如何解决prometheus ktext format parsing error in line 1: expected float as value, got "41584\r"
- python - 我有两个 json 文档,我需要比较第一个对象的键是否存在于使用 python 的第二个对象中。它们都是嵌套的
- javascript - 将 FileReader 中的 img 添加到最新课程 | FileReader 在循环后执行
- ruby - 是否可以禁用等待时间?
- java - 如何测试返回值是否正确