如何通过 php 脚本执行终端命令


How to execute terminal command via php script

我有一个php脚本,我需要运行Linux终端命令。我的问题是我需要将其作为 sudo 运行,但它不起作用。我已经完成了VISUDO并添加/禁用如下:

asterisk ALL=NOPASSWD: /usr/sbin/cmd.php
Defaults!/usr/sbin/cmd.php !requiretty
#Defaults    requiretty
#Defaults   !visiblepw

但是我在 apache 日志中收到此错误"sudo:不存在 tty 并且没有指定 askpass 程序"。仅供参考,Apache 以用户星号及其 Centos 6 运行。我现在被困住了,所以伸出援手。

谢谢

您的星号帐户没有 shell 登录。 sudo 用户必须具有 shell 登录名。在/etc/passwd 中检查它。如果 nologin,则表示无法访问 shell。

您需要检查星号 API,它称为 AMI(星号管理接口)https://github.com/marcelog/PAMI