当在 AWS EC2 上使用 Apache 作为 Web 服务器时,有时会发现 Apache 用户无法通过执行 php exec 函数来运行命令。这是由于默认情况下 Apache 会使用最小限度的用户权限来运行,因此需要做出一些更改以使其能够执行 php exec。
您可以通过更改 sudoers 文件来实现这一点。首先,打开终端并输入以下命令:
sudo visudo
此将打开 sudoers 文件以进行编辑。然后你需要添加以下行到文件的底部:
username ALL=(ALL) NOPASSWD: ALL
重要的是要替换 "username" 为自己的用户名。这将使您的用户具有使用 sudo 的权限而无需输入密码。然后,您需要在 PHP 文件中使用 sudo 来在 Apache 用户下运行您的命令。例如:
$output"; ?>
注意,您需要将 "your-command" 替换为您要运行的实际命令。
重新启动 Apache 服务器以使更改生效:
sudo service httpd restart
现在,您的 Apache 用户应该能够通过 PHP exec 函数正确运行命令了。