You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 7在Hostinger虚拟主机中Storage链接无法工作求助

解决Hostinger虚拟主机Laravel 7 Storage软链接创建失败问题

错误原因

你遇到的路径错误是因为路径拼接重复:$_SERVER['DOCUMENT_ROOT']在Hostinger环境下已经指向/home/u907022978/domains/saifkhalilhardware.com/public_html,你额外添加的/public_html会导致路径变成public_html/public_html/...,最终触发"Directory not found"错误。

解决方法

方法1:通过SSH执行Artisan命令(推荐)

Hostinger虚拟主机支持SSH登录,直接执行原生Artisan命令最可靠:

  1. 登录你的Hostinger SSH账户
  2. 切换到项目根目录(即public_html目录):
    cd /home/u907022978/domains/saifkhalilhardware.com/public_html
    
  3. 执行storage链接命令:
    php artisan storage:link
    

方法2:修正PHP软链接脚本

把你之前的脚本改成以下内容,去掉多余的/public_html:

<?php
// 目标目录:public_html/storage/app/public
$targetFolder = $_SERVER['DOCUMENT_ROOT'].'/storage/app/public';
// 链接目录:public_html/public/storage
$linkFolder = $_SERVER['DOCUMENT_ROOT'].'/public/storage';

// 先检查目标目录是否存在,避免错误
if (!file_exists($targetFolder)) {
    mkdir($targetFolder, 0755, true);
}

// 检查链接是否已存在,避免重复创建
if (!file_exists($linkFolder)) {
    symlink($targetFolder, $linkFolder);
    echo "Storage链接创建成功";
} else {
    echo "Storage链接已存在";
}
?>

将这个脚本保存为linkstorage.php放在public_html/public目录下,然后通过浏览器访问你的域名/linkstorage.php执行。

方法3:手动创建软链接(如果SSH和PHP脚本都不行)

如果以上方法都失效,你可以通过Hostinger的文件管理器手动创建软链接:

  1. 登录Hostinger后台,打开文件管理器,进入public_html/public目录
  2. 点击顶部的"创建"按钮,选择"软链接"
  3. 目标路径填写:../storage/app/public(相对路径,避免绝对路径错误)
  4. 链接名称填写:storage
  5. 确认创建即可

验证链接是否成功

创建完成后,你可以在public_html/public目录下看到storage软链接,尝试上传一张图片到storage/app/public目录,然后访问你的域名/storage/图片文件名,如果能正常显示则说明链接成功。

内容的提问来源于stack exchange,提问作者Zeeshan Farooq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 13:20:14