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

Laravel自定义目录结构下php artisan serve静态资源加载失败问题

解决Laravel自定义目录结构下php artisan serve静态资源404问题

核心原因

php artisan serve命令默认将Laravel的public目录作为内置服务器的文档根目录,但你的项目调整了结构,把入口文件和静态资源放在了项目根目录,导致内置服务器仍在往public目录定位资源,从而触发404错误。

解决方案

方法1:启动时指定文档根(推荐)

直接在启动命令中指定项目根目录作为内置服务器的文档根:

php artisan serve --public=./

这条命令会让服务器直接从项目根目录读取资源,请求http://127.0.0.1:8000/test-folder/img.png或http://127.0.0.1:8000/public/assets/...这类地址时,就能正确找到对应文件。

方法2:修改内置Serve命令逻辑(可选,不推荐)

如果需要每次启动都自动使用根目录,可修改框架的ServeCommand(注意:更新Laravel时会被覆盖):

  1. 找到文件vendor/laravel/framework/src/Illuminate/Foundation/Console/ServeCommand.php
  2. 修改getPublicDirectory方法,返回项目根目录:
protected function getPublicDirectory()
{
    return base_path(); // 原代码为 return base_path('public');
}

验证

执行修改后的启动命令,访问之前报错的静态资源地址,确认资源能正常加载即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:42:22