【问题标题】:Permissions issue with Symfony2 on Apache 2.4, Fedora 22: 500 response on app.php, app_dev.php, config.phpSymfony2 在 Apache 2.4、Fedora 22 上的权限问题:app.php、app_dev.php、config.php 上的 500 响应
【发布时间】: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


【解决方案1】:

作为特别是 Fedora 的新手,我还没有接触过 SELinux。更多要学习的东西:)

我有些天真地把命令塞进了我的 shell,感觉成功的滋味如此接近。它是这些命令的组合:

chcon -R -t httpd_sys_content_t hfs
chcon -R -t public_content_rw_t hfs/app/cache
chcon -R -t public_content_rw_t hfs/app/logs
setsebool -P allow_httpd_anon_write 1

Setting permissions in Fedora Apache/PHP

Apache 403 error, (13)Permission denied: access to / denied, Fedora 16

Permission issue in cache and logs folder in Symfony 2.0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2021-12-16
    相关资源
    最近更新 更多