PHP执行linux命令,需要用到几个方法,比如system() exec() passthru()
我用的是exec()
执行一个脚本
<?php
$result="/opt/1.sh";
exec($result,$res,$ret);
if($ret == "0") {
echo "true";
}else{
echo "false";
}
网页访问,返回false
加sudo测试
在linux系统编辑配置文件
vi /etc/sudoers
www ALL=(ALL) NOPASSWD:ALL
强制保存
修改php代码
$result="/usr/bin/sudo /opt/1.sh";
访问还是不行
最后,终于解决办法
编辑配置文件,注释一掉内容(表示不需要控制终端)
vi /etc/sudoers
#Defaults requiretty
最后测试,就返回true了。