【问题标题】:proxy_fcgi:error AH01071: Got error 'Unable to open primary script: /var/www/html/laravel/public/index.php (Permission denied)'proxy_fcgi:错误 AH01071:出现错误“无法打开主脚本:/var/www/html/laravel/public/index.php(权限被拒绝)”
【发布时间】:2026-01-11 06:00:02
【问题描述】:

我在 Azure 中有一个使用 Apache 托管的网站。我试图使用http://example.com/laravel/public 访问该网站,它显示“访问被拒绝”消息,当我检查错误日志消息时,它显示标题中所述的 proxy_fcgi:error AH01071 消息。我不确定是 htaccess 配置问题还是其他配置导致了这个问题。请帮忙。

在我的 .htaccess 中,我配置了以下内容:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

【问题讨论】:

    标签: php laravel apache


    【解决方案1】:

    似乎 php-fpm 对 index.php 没有读取权限 您可以在终端上运行以下命令来了解实际运行 php-fpm 的用户: # ps aux | grep php-fpm | awk '{print $1}'

    然后您可以使用以下命令将 index.php 权限授予该特定用户(将 替换为第一个命令的结果): # setfacl -m u:&lt;php_fpm_user&gt;:r /var/www/html/laravel/public/index.php

    【讨论】:

      【解决方案2】:

      在某些情况下,这可能是由于 SELINUX 设置为 ENFORCING... 您可以禁用 SELINUX(需要重新启动)或添加相应的 SELINUX 策略。

      【讨论】:

        最近更新 更多