Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
带有shell_exec的命令行PHP适用于root用户,但不适用于其他用户_Php_Linux_Permissions_Command Line Interface - Fatal编程技术网

带有shell_exec的命令行PHP适用于root用户,但不适用于其他用户

带有shell_exec的命令行PHP适用于root用户,但不适用于其他用户,php,linux,permissions,command-line-interface,Php,Linux,Permissions,Command Line Interface,我有一个非常简单的脚本,用于测试运行shell_exec或backtick操作符是否基本有效: #!/usr/bin/php5 <?php echo "This is a PHP script\n"; echo `ls -l /home/stoysnet/`; 我尝试过通过PHP以几种不同的方式运行它,但我总是遇到相同的错误。但是,当我将脚本放入root:root拥有的/etc/子目录并以root身份执行时,它就可以工作了 有什么好处 更新:只是澄清一下: 我试图通过命令行以stoys

我有一个非常简单的脚本,用于测试运行shell_exec或backtick操作符是否基本有效:

#!/usr/bin/php5
<?php

echo "This is a PHP script\n";
echo `ls -l /home/stoysnet/`;
我尝试过通过PHP以几种不同的方式运行它,但我总是遇到相同的错误。但是,当我将脚本放入root:root拥有的/etc/子目录并以root身份执行时,它就可以工作了

有什么好处

更新:只是澄清一下:

我试图通过命令行以stoysnet用户的身份运行它。我能够通过同一会话执行传递给shell_exec的命令。 如果我将脚本移动到/etc/somedir/并以root用户身份执行,它将按预期工作。 脚本本身运行,而不是backtick操作符或shell_exec部分 执行权限已设置,777也不起作用。
您是否以与stoysnet不同的用户身份运行此脚本?当您以执行PHP脚本的用户身份运行ls-l/home/stoysnet时会发生什么


似乎您需要以具有/home/stoysnet/

权限的用户身份运行脚本,在/home/stoysnet目录上的权限/所有权是什么?为了能够“ls”一个目录,例如:列出/枚举其内容,执行脚本的用户必须以所有者、组或“所有人”的身份对该目录拥有执行权限。
$ ./foo.php 
This is a PHP script

Warning: _shell_exec(): Permission Denied in /home/stoysnet/foo.php on line 5