当前位置:  开发笔记 > 编程语言 > 正文

如何为目录提供PHP写入权限?

如何解决《如何为目录提供PHP写入权限?》经验,为你挑选了4个好方法。

我正在尝试使用PHP来创建文件,但它无法正常工作.我假设这是因为它没有写访问权限(以前一直是问题).我试图通过使文件夹chmod 0777来测试这是否是问题,但是刚刚结束使该目录中的每个脚本都返回500错误消息,直到我将其更改回来.如何为我的文件系统提供PHP写入权限,以便创建文件?

编辑:它使用Apache托管在Hostgator共享主机上.

编辑2:有人要求代码:代码是GD图像脚本.我知道其余部分的工作方式与之前我创建的图像一样.现在我尝试在添加新文本时创建它们并将它们保存到文件夹中.我的写行是:imagejpeg(null,$ file,85);

我还创建了一个测试文件来检查它是否只是一个损坏的脚本(主要是从tizag复制):http://gearboxshow.info/rkr/lesig.jpg/testfile.txt (我不知道是否/如何发布这里的代码是正确的.这是PHP脚本的内容,减去PHP标签.)

它返回13,13,1(单独的行),所以它看起来好像它认为它写了一些东西,但testfile.txt是空白的(我上传了一个空白的),或者不存在(如果我删除它).

编辑3:服务器运行CentOS.



1> favo..:

一个非常简单的方法是让PHP首先创建目录.



这可以节省您的权限麻烦.


我在制作目录时获得了许可被拒绝!
这是最简单的解决方案,尽管您不应该在apache上使用777,因为它被配置为阻止该文件.
那就对了.您可以修改权限以满足您的需求.

2> Thomas Winsn..:

将目录的所有者设置为运行apache的用户.Linux上经常没有人

chown nobody:nobody 

这样你的文件夹将不是世界可写的,但仍然可写为apache :)


@BrandonMinton'chown www-data:www-data '应该这样做.www-data是基于debian的系统上的apache用户
如果您使用Ubuntu,则此用户和组不存在.有什么建议可以完成你在这里做的事吗?

3> Grant Miller..:
简单的三步解决方案

摘要:您需要将目录的所有者设置为PHP使用的用户(Web服务器用户).


第1步:确定PHP用户

创建一个包含以下内容的PHP文件:


将其上传到您的Web服务器.输出应类似于以下内容:

www-data

因此,PHP用户是www-data.


第2步:确定目录的所有者

接下来,通过命令行检查Web目录的详细信息:

ls -dl /var/www/example.com/public_html/example-folder

结果应类似于以下内容:

drwxrwxr-x 2 exampleuser1 exampleuser2 4096 Mar 29 16:34 example-folder

因此,目录的所有者是exampleuser1.


第3步:将目录所有者更改为PHP用户

然后,将Web目录的所有者更改为PHP用户:

sudo chown -R www-data /var/www/example.com/public_html/example-folder

验证Web目录的所有者是否已更改:

ls -dl /var/www/example.com/public_html/example-folder

结果应类似于以下内容:

drwxrwxr-x 2 www-data exampleuser2 4096 Mar 29 16:34 example-folder

因此,example-folder已成功将所有者更改为PHP用户:www-data.


完成!PHP现在应该能够写入目录.


这里完全是OT,但没有其他方法可以对您执行ping操作:感谢您在Coffee SE上的辛勤标记工作!

4> sowrov..:

1st使用以下命令确定哪个用户拥有httpd进程

ps aux | grep httpd

你会得到这样的几行响应:

phpuser   17121  0.0  0.2 414060  7928 ?        SN   03:49   0:00 /usr/sbin/httpd

这里第1列显示用户名.所以现在你知道正在尝试编写文件的用户,在这种情况下,phpuser 您现在可以继续设置php脚本尝试编写内容的目录的权限:

sudo chown phpuser:phpuser PhpCanWriteHere
sudo chmod 755 PhpCanWriteHere

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有