【发布时间】:2015-09-13 00:17:30
【问题描述】:
我在本地机器上运行多个站点进行开发,并决定为我的下一个项目尝试 Symfony。
我在 /var/www/hfs 下创建了一个新的 symfony 项目;我已将所有权更改为 $USER,权限更改为 755,并因此创建了一个虚拟主机:
<VirtualHost *:80>
ServerName hfs.local
ServerAlias www.hfs.local
DocumentRoot /var/www/hfs/web
<Directory /var/www/hfs/web>
Require all granted
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
ErrorLog /var/log/httpd/hfs_error.log
CustomLog /var/log/httpd/hfs_access.log combined
</VirtualHost>
访问 hfs.local、/app.php、/app_dev.php 和 /config.php 都返回 500 错误。对应的错误日志信息为:
[Sat Sep 12 18:55:54.871088 2015] [:error] [pid 7182] [client 127.0.0.1:35725] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Sat Sep 12 18:55:54.871140 2015] [:error] [pid 7182] [client 127.0.0.1:35725] PHP Fatal error: Unknown: Failed opening required '/var/www/hfs/web/app.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0
我已经仔细检查过,据我所知(这是相对较差的,仅在 LAMP 堆栈中真正工作了大约 4 个月)所有文件都应该可供 apache 用户访问。我什至绝望地尝试了777
-rwxrwxrwx. 1 tyler tyler 1182 Jul 31 08:45 app_dev.php
-rwxrwxrwx. 1 tyler tyler 10784 Jul 31 08:45 apple-touch-icon.png
-rwxrwxrwx. 1 tyler tyler 1014 Sep 12 19:35 app.php
drwxrwxrwx. 2 tyler tyler 4096 Sep 12 17:09 bundles
-rwxrwxrwx. 1 tyler tyler 5746 Jul 31 08:47 config.php
-rwxrwxrwx. 1 tyler tyler 82 Sep 12 18:03 .directory
-rwxrwxrwx. 1 tyler tyler 6518 Jul 31 08:45 favicon.ico
-rwxrwxrwx. 1 tyler tyler 3320 Jul 31 08:45 .htaccess
-rwxrwxrwx. 1 tyler tyler 106 Jul 31 08:45 robots.txt
我正在运行其他三个平面 php 应用程序。此外,正因为如此,我已经检查过,/usr/share/pear 确实是全局可读的。
不确定我在权限方面做错了什么,但我已经四次检查了 symfony 文档,尝试将目录的所有权更改为 apache 用户,如果相关,当使用 AllowOverride All 时,我被告知.htaccess 文件无法访问——尽管具有全局读取访问权限。
非常感谢您的帮助,我花了几个小时研究并没有找到任何帮助!感觉很菜鸟。
编辑:对于它的价值,我在其他方面相同的 Debian 安装上设置它没有问题。
【问题讨论】:
-
.htaccess是否在正确的位置?您的服务器是否有正确的mod_rewrite确认并且启用了该模块? -
是的;它在 ../web/.htacess 中,如果我尝试使用它而不是在 conf 文件中重写,我得到的错误是 Permission denied: [client 127.0.0.1:36612] AH00529: /var/www/hfs/ web/.htaccess pcfg_openfile: 无法检查 htaccess 文件,确保它是可读的并且 '/var/www/hfs/web/' 是可执行的 -- 这两个都启用了
标签: linux apache symfony fedora