为了账号安全,请及时绑定邮箱和手机立即绑定

PHP mkdir:权限被拒绝的问题

PHP mkdir:权限被拒绝的问题

PHP
哔哔one 2019-11-08 14:11:13
我正在尝试使用PHP mkdir函数创建目录,但出现如下错误:Warning: mkdir() [function.mkdir]: Permission denied in ...。如何解决问题?
查看完整描述

3 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我知道这是一个旧线程,但是需要一个更好的答案。您不需要将权限设置为777,这是一个安全问题,因为它提供了对世界的读写访问权限。可能是您的apache用户对该目录没有读/写权限。


这是您在Ubuntu中所做的


确保所有文件均归Apache组和用户所有。在Ubuntu中,它是www-data组和用户


chown -R www-data:www-data /path/to/webserver/www


接下来,使www-data组的所有成员能够读写文件


chmod -R g+rw /path/to/webserver/www


php mkdir()函数现在应该可以正常工作而不会返回错误


查看完整回答
反对 回复 2019-11-08
?
慕标5832272

TA贡献1966条经验 获得超4个赞

以后通过Google找到此答案的人的最新答案。我遇到了同样的问题。


注意:我在MAC OSX LION上


发生的是,apache以用户“ _www”的身份运行,并且没有编辑任何文件的权限。您会注意到没有文件系统功能通过php起作用。


怎么修:


打开查找程序窗口,然后从菜单栏中选择“转到”>“转到文件夹”> / private / etc / apache2


现在打开httpd.conf


找:


User _www 

Group _www

更改用户名:


User <YOUR LOGIN USERNAME>

现在,通过运行以下表单终端重新启动Apache:


sudo apachectl -k restart

如果仍然无法正常工作,那么在进行上述操作之前,我碰巧要进行以下操作。可能相关。


打开终端并运行以下命令:(注意,我的Web服务器文件位于/ Library / WebServer / www。根据您的网站位置进行更改)


sudo chmod 775 /Library/WebServer/www

sudo chmod 775 /Library/WebServer/www/*


查看完整回答
反对 回复 2019-11-08
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

在PHP中使用mkdir时不要将权限设置为777

仅链接答案在StackOverflow上不被视为良好实践,但通常不应遵循此处给出的建议。


我想在一个类似的问题上回复这个好答案。我引用:


请停止使用777的建议。您正在使文件对所有人都可写,这几乎意味着您失去了权限系统所设计的所有安全性。如果您建议这样做,请考虑一下它对配置不当的Web服务器可能造成的后果:通过覆盖文件来“入侵”网站变得非常容易。所以,不要。


查看完整回答
反对 回复 2019-11-08
  • 3 回答
  • 0 关注
  • 2318 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信