Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中shell_exec的$HOME错误_Php_Apache - Fatal编程技术网

PHP中shell_exec的$HOME错误

PHP中shell_exec的$HOME错误,php,apache,Php,Apache,Apache 2.2.3、PHP 5.2.17、RHEL 5 64位 如果我执行echo shell_exec('echo$HOME')在我的服务器上的一个页面中,我在浏览器中查看它,我得到:/root,这不是我认为我应该拥有的(/var/www) whoami命令返回apache 与exec 有什么想法吗?Apache以root用户身份启动,然后更改为Apache用户,但这不会更新环境变量。请看这里: 如果您想要Apache的文档根目录,应该使用$\u SERVER['document\u r

Apache 2.2.3、PHP 5.2.17、RHEL 5 64位

如果我执行echo shell_exec('echo$HOME')在我的服务器上的一个页面中,我在浏览器中查看它,我得到:
/root
,这不是我认为我应该拥有的(
/var/www

whoami
命令返回apache
exec

有什么想法吗?

Apache以root用户身份启动,然后更改为Apache用户,但这不会更新环境变量。请看这里:


如果您想要Apache的文档根目录,应该使用
$\u SERVER['document\u root']

echo shell_exec('echo$HOME')该状态是错误的。您不能在
echo
内部使用
echo
不明白您的意思。我通过shell_exec调用shell echo,并使用PHP echo显示shell_exec返回。错误在哪里?@Shakti-“echo$HOME”是一个shell命令,不是PHP命令。谢谢。我接受这个答案。给了我解释。因此,在运行外部shell脚本之前,我必须更新env。