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了。