有时需要PHP执行一些外部命令和Linux进行交互,但是apache的执行用户没有root权限,这时就需要找到apache在Linux上的执行用户,修改执行用户或直接赋予执行用户一定的权限
首先用PHP执行一行代码检查apache的执行用户是谁:
<?php
system("whoami");
在我的主机上输出的是apache ,对一些特殊的外部命令默认没有权限,这时需要以下操作:
-
新建apache执行用户 如 gitforshell
adduser gitforshell
-
修改apache的配置文件,首先找到你的apache版本的配置文件并打开它
找到这里并修改为你新建的用户 -
为你的执行用户赋予root权限:
找到这里并修改为相应用户和权限
vi /etc/sudoers
到这里就配置完成了,重启apache service httpd restart
,然后再试着用PHP执行 system("whoami");
试试,看下输出结果有没有改变。
网友评论