【问题标题】:"Symbolic link not allowed or link target not accessible" Laravel app on OVH\“不允许符号链接或链接目标不可访问\”OVH 上的 Laravel 应用程序
【发布时间】:2022-12-19 16:23:21
【问题描述】:
我部署了我的拉维应用开启OVH服务器,很好用,只是头像加载不出来,显示403 error
我打开日志,发现此错误:
不允许符号链接或链接目标不可访问:/homez.1714/hdapocb/www/depot_documents/public/storage,referer:https://my_domain/admin/settings/user-profile
我已经在服务器上运行php artisan storage:link,并且我有权访问存储文件夹。
权限是这样的:
根文件夹:www/depot_documents rwx---r-x
www/depot_documents/public : rwxr-xr-x
符号链接:www/depot_documents/public/storage:rwxrwxrwx
www/depot_documents/storage : rwxr-xr-x
我不知道错误在哪里。
【问题讨论】:
标签:
php
laravel
storage
ovh
【解决方案1】:
错误消息“不允许符号链接或链接目标不可访问”通常表示 Web 服务器没有权限跟随符号链接(即“符号链接”)到目标文件或目录。在您的情况下,Web 服务器似乎无法访问 public 目录中的存储符号链接,Laravel 使用该目录存储用户上传的文件,例如头像。
要解决此问题,您需要确保 Web 服务器有权跟随目标文件或目录的符号链接。这通常可以通过修改 Web 服务器的配置以允许它遵循符号链接,或者通过更改符号链接本身的所有权或权限来完成。
例如,如果您使用的是 Apache Web 服务器,则可以将以下指令添加到 httpd.conf 文件以允许 Apache 遵循符号链接:
Options FollowSymLinks
或者,您可以更改公共目录中存储符号链接的所有权或权限,以便 Web 服务器可以访问它。例如,您可以运行以下命令来授予符号链接的 www-data 用户和组所有权,并授予他们读取和执行权限:
chown www-data:www-data /homez.1714/hdapocb/www/depot_documents/public/storage
chmod u=rwx,g=rx,o= /homez.1714/hdapocb/www/depot_documents/public/storage
我希望这有帮助!如果您有任何其他问题,请告诉我。