Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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 exec()通过命令行而不是web运行_Php_Linux - Fatal编程技术网

Php exec()通过命令行而不是web运行

Php exec()通过命令行而不是web运行,php,linux,Php,Linux,我有一个包含exec的PHP脚本,它可以从命令行正常运行,但不能在web上下文中运行。脚本简单如下: <?php exec('echo "wee" > /home/jason/wee.txt'); 如果我调用这个脚本wee.php并运行php wee.php,它工作正常,wee.txt就可以编写了 如果我去http://mysite.com/wee.php,脚本假装运行良好,但wee.txt实际上没有被编写 知道发生这种情况的原因吗?web服务器作为不同的用户运行,而该用户没有写入

我有一个包含exec的PHP脚本,它可以从命令行正常运行,但不能在web上下文中运行。脚本简单如下:

<?php exec('echo "wee" > /home/jason/wee.txt');
如果我调用这个脚本wee.php并运行php wee.php,它工作正常,wee.txt就可以编写了

如果我去http://mysite.com/wee.php,脚本假装运行良好,但wee.txt实际上没有被编写


知道发生这种情况的原因吗?

web服务器作为不同的用户运行,而该用户没有写入主目录的权限。

web服务器作为不同的用户运行,并且该用户没有权限写入您的主目录。

您的web服务器可能没有正确的权限写入主目录。

您的web服务器可能没有正确的权限写入主目录。

注意到您正在写入/home/jason。请注意,如果使用Ubunut或Debian,apache将运行此命令,即www data user。进程是否具有写入该文件夹的正确权限?

注意到您正在写入/home/jason。请注意,如果使用Ubunut或Debian,apache将运行此命令,即www data user。进程是否具有写入该文件夹的正确权限?

其他海报正确地表明web服务器用户没有写入您的主目录的权限。要查看它们是否正确,请尝试修改代码以写入/tmp/wee.txt。这应该是全世界都可以写的


另一种可能性是可以将php配置为禁用调用exec。请参见

其他海报正确地表明web服务器用户无权写入您的主目录。要查看它们是否正确,请尝试修改代码以写入/tmp/wee.txt。这应该是全世界都可以写的


另一种可能性是可以将php配置为禁用调用exec。请看

有什么办法可以让这一切顺利进行吗?比如暂时给予许可,有什么办法可以让这一切顺利进行吗?比如暂时给予许可