php OVH上的Laravel应用程序“不允许符号链接或链接目标不可访问”

scyqe7ek  于 2022-12-10  发布在  PHP
关注(0)|答案(1)|浏览(138)

bounty将在5天后过期。回答此问题可获得+50的声望奖励。MAHA OUEGHLANI正在寻找来自知名来源的答案

我在OVH服务器上部署了我的Laravel应用程序,运行良好,只是无法加载头像,显示403 error
打开日志时发现以下错误:
不允许符号链接或链接目标不可访问:/homez.1714/hdapocb/www/depot_documents/public/storage,引用人:https://my_domain/admin/settings/用户配置文件
我已经在服务器上运行了php artisan storage:link,并且拥有访问存储文件夹权限

权限如下:

根文件夹:www/仓库_文档rwxrwxr-x
网址:rwxrwxr-x
符号链接:www/仓库文档/公共/存储:rwxrwxrwx
www/仓库文档/存储:rwxrwxr-x
网站:rwxrwxr-x
网站:rwxrwxr-x
我不知道错在哪里。

编辑

.htaccess档案:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
        Options +FollowSymlinks
    </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
    RewriteRule ^ index.php [L]
 
    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
js81xvg6

js81xvg61#

此错误与PHP配置设置有关,其中open_basedir被设置为strict值并限制对符号链接的访问。
您可以尝试通过修改php.ini文件中的open_basedir或在Laravel应用程序根目录中添加一个.htacces文件来修复它。
.htacces文件应包含以下规则:

php_admin_value open_basedir none

上述规则将禁用open_basedir的Laravel应用程序设置,从而提供对符号链接的访问权限。
我建议您阅读更多关于Laravel文件系统配置和php.ini rules的信息。

相关问题