linux-用php的exec()删除目录文件提示权限不够
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux-用php的exec()删除目录文件提示权限不够,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1738字,纯文字阅读大概需要3分钟。
内容图文
我在用浏览器访问服务器上的php文件,然后用exec()删除某目录文件,提示权限不够,经过一顿搜索之后,我已根据很多文章的描述进行下面的权限设置,请问还有什么漏了设置的地方导致权限还是不够?
代码test.php:
$a = exec("rm /var/test/test.txt 2>&1",$result,$status);
print_r($result);
关于权限的服务器设置:
1、apache的httpd.conf中的user和group现在是apache。
2、利用visudo给了apache和root一样的权限,并把Defaults requiretty注释了。
3、将/var/test文件夹的权限给足,用户和用户组设为apache
4、test.txt的权限和用户、用户组也设置了
访问192.168.1.xxx/test.php还是不能删掉,还是提示这个:
回复内容:
我在用浏览器访问服务器上的php文件,然后用exec()删除某目录文件,提示权限不够,经过一顿搜索之后,我已根据很多文章的描述进行下面的权限设置,请问还有什么漏了设置的地方导致权限还是不够?
代码test.php:
$a = exec("rm /var/test/test.txt 2>&1",$result,$status);
print_r($result);
关于权限的服务器设置:
1、apache的httpd.conf中的user和group现在是apache。
2、利用visudo给了apache和root一样的权限,并把Defaults requiretty注释了。
3、将/var/test文件夹的权限给足,用户和用户组设为apache
4、test.txt的权限和用户、用户组也设置了
访问192.168.1.xxx/test.php还是不能删掉,还是提示这个:
通过
你就可以知道为何你没有权限删除了啊
另外, 在PHP中直接创建一个文件, 看看他是什么权限,也能看到你的php的执行用户和用户组
根据上面的权限配置,应该是能删除的呀。
LZ要不试试重启下apache服务器,然后再执行代码。
注意到php.ini里提供有一个open_basedir配置,也就是只有在open_basedir里的目录,PHP才能进行操作,所以如果你开启了open_basedir限制,那你就应该把/var/test这个目录加到open_basedir里,重启Apache:
open_basedir="/tmp/:/var/www/html/:/var/test/"
Linux上目录用冒号(:)分隔,Windows上用分号(;)分隔.
很奇怪,你把apache加入了visudo里,为什么sudo -u apache 还是不能删除文件?也就是说sudo并没有成功赋给apache这个用户了
内容总结
以上是互联网集市为您收集整理的linux-用php的exec()删除目录文件提示权限不够全部内容,希望文章能够帮你解决linux-用php的exec()删除目录文件提示权限不够所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。