使用CENTOS在PHP上运行终端命令

时间:2014-04-14 01:03:42

标签: php linux apache

我不知道为什么下面的代码不起作用:

<?php shell_exec('pkill -x firefox') ?>

我没有在safe_mode中运行PHP,启用了fucntion shell_exec,所以为什么我的apache不是killink firefox?

2 个答案:

答案 0 :(得分:0)

如果您没有使用apache用户运行firefox,则无法使用apache终止该进程。您必须以root身份运行apache才能访问系统中的所有进程。

警告:运行具有root权限的任何公共服务都存在严重的安全风险。

答案 1 :(得分:0)

这是因为apache以www-datanobody用户身份运行,因此,您无法杀死该进程,因为该用户没有足够的权限要求。但是,如果您以超级用户身份运行代码,则可能。

% cat my_script.php
<?php shell_exec('pkill -x firefox') ?>
% sudo php my_script.php