2016-11-23 123 views
0

我在VirtualBox上使用Fedora 24来托管小型PHP Web应用程序。我试图将文本附加到与PHP文件(/ var/www/html /)位于同一本地目录中的文件中。无论我尝试设置目录(html /)的哪种类型的权限或所有权,或者我始终都会收到“第21行中的/var/www/html/pdf.php权限被拒绝”错误。Apache无法写入文件

在我的php.ini文件中是否存在需要启用以允许编辑文件的配置设置?我甚至尝试过将目录和文件设置为chmod 777,看看它是否会给我提供访问权限,但即使这样也会被拒绝。

编辑:我也曾尝试在其他位置创建目录和文件具有相同的结果。我试图让Apache运行mkdir和touch命令并得到相同的结果。

编辑2:在留言给我最初的问题的请求。以下是目标目录的所有权信息: ls -l/var/www/html/ drwxrwxr-x。 2 apache apache 4096 Nov 23 21:28 docs

该文件的所有权信息: -rwxrwxr-x。 1架阿帕奇阿帕奇1381 11月28日17:47 pdf.php

+1

Alrighty,你可以显示谁拥有正在尝试写入的文件以及要写入的位置的所有者(*通常是通过'ls -l/var/www/html' *完成的)并添加它到你的问题:) 9/10它是所有权问题。另外,哪个用户拥有/运行你的apache实例?因为该用户需要拥有该目录。 – Darren

回答

0

尽量分配给WWW的数据:没有人

chown -R www-data:nobody *,检查Apache组上你的httpd.conf。

验证/ var/html至少为775。

+0

这工作,但我重新在Ubuntu平台而不是Fedora我的应用程序。在弄乱Fedora权限之后,我的虚拟机映像将不再正常引导。所以我在Ubuntu系统上重建了我的LAMP堆栈并设置了这里描述的权限,现在它正在写入正确。我应该注意到'nobody'用户组不存在,但'www-data'用户确实存在。它属于同名用户组,因此我使用的命令是chown -R www-data:www-data *,其中包含我的PHP文件和我正在写入的文件。 – Aresway