laravel 10安装后白屏主因是错误被隐藏、服务未重启、转发规则缺失及权限缓存问题:需开启php.ini display_errors和.env的app_debug=true,配好nginx/apache重写规则,ctrl+c后重跑php artisan serve,并chmod -r 775 storage bootstrap/cache及清空全部缓存。

Laravel 10 安装后白屏无响应,不是单一问题,而是多个常见环节叠加导致的“静默失败”。核心在于:**错误被隐藏、服务未刷新、配置未生效、权限或路由根本没走通**。下面分四类直击关键点。
PHP 错误显示被关闭
白屏最常见原因就是 PHP 错误不输出——页面空着,但日志里早有报错。必须打开两处开关:
- 确保 php.ini 中 display_errors = On,且 error_reporting = E_ALL
- 修改项目根目录下的 .env 文件:
APP_DEBUG=true 和 APP_ENV=local(缺一不可) - 改完立刻执行:
php artisan config:clear(否则 .env 修改不生效)
Web 服务器转发规则缺失
Laravel 不是直接访问 index.php,所有请求都要被重写到 public/index.php。若 Apache 或 Nginx 没配好,会直接返回 404 或空响应:
- Apache:确认 public/.htaccess 存在且启用,内容含 RewriteEngine On 及标准重写规则
-
Nginx:在 server 块中添加:
location / { try_files $uri $uri/ /index.php?$query_string; } - 改完记得重启服务:
sudo systemctl restart nginx 或 sudo apachectl restart
artisan serve 没重启,改了也白改
开发时常用 php artisan serve,但它是个单进程内置服务器,完全不监听文件变化。哪怕你修了路由、改了控制器、清了缓存,只要没手动重启,请求仍跑在旧内存快照里:
- 必须先按 Ctrl + C 终止当前 serve 进程
- 再重新运行:php artisan serve
- 建议加端口避免冲突:php artisan serve --port=8001
权限与缓存残留问题
尤其是首次部署或从 Git 拉取代码后,storage 和 bootstrap/cache 目录常因权限或旧缓存卡住:
- 赋予可写权限:
chmod -R 775 storage bootstrap/cache(不推荐 777,安全起见用 775) - 清除全部缓存:
php artisan config:clear && php artisan cache:clear && php artisan view:clear && php artisan route:clear - 特别注意:曾执行过 route:cache 的项目,即使换回 local 环境,也会优先读 bootstrap/cache/routes-v7.php——务必 route:clear











