页面空白主因是Laravel启动失败,核心在于storage和bootstrap/cache目录不可写,需确认宝塔PHP用户(如www)、执行sudo chown -R www:www storage/ bootstrap/cache/、chmod -R 755、SELinux放行(如启用)、重启PHP并验证写入。

页面空白,大概率不是代码问题,而是 Laravel 启动失败——连错误都来不及报,就直接返回空响应。核心原因往往卡在 storage 和 bootstrap/cache 目录无法写入,导致日志记不了、缓存生成失败、视图编译中断。下面直击关键点,不绕弯。
先确认 Web 服务器用户是谁
宝塔面板默认用 www 用户跑 PHP-FPM(不是 www-data,也不是 nginx),这点必须对齐,否则所有权限操作都白做。
- 进宝塔 → 网站 → 你的站点 → 设置 → PHP 版本 → 右上角「配置文件」
- 查找 user = 和 group = 两行,常见值是 www:www
- 若你看到的是
user = php82或其他自定义名,后续命令必须严格匹配
精准设置 storage 和 bootstrap/cache 所有者
只改顶层目录没用,子目录(如 storage/logs、storage/framework/views、bootstrap/cache/config.php)也必须归属一致。
- 进入项目根目录:
cd /www/wwwroot/your-laravel-site - 执行:
sudo chown -R www:www storage/ bootstrap/cache/ - 特别注意:漏掉
bootstrap/cache/是高频失误,Laravel 启动时第一道关就卡在这儿
权限数字别乱套,755 比 775 更稳妥
777 不安全,775 在单用户生产环境没必要;755 已足够让 www 用户读、写、进入目录,同时避免组权限外溢。
sudo chmod -R 755 storage/ bootstrap/cache/- 如果系统启用了 SELinux(如 CentOS),还需额外放行:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/www/wwwroot/your-laravel-site/storage(/.*)?",再执行sudo restorecon -Rv /www/wwwroot/your-laravel-site/storage - Windows 下用 phpEnv 的情况不同:需在资源管理器中为
storage和bootstrap/cache手动添加当前用户、SYSTEM、Administrators 的“修改”权限
别忘了重启和验证
改完权限不重启 PHP,等于没改;不验证写入能力,等于赌运气。
- 在宝塔中重启对应 PHP 版本的服务(不是 Nginx,是 PHP)
- 运行测试脚本:
php -r "file_put_contents('storage/test.txt', 'ok'); echo file_get_contents('storage/test.txt');",能输出ok才算真正通了 - 清空缓存再试:
php artisan config:clear && php artisan cache:clear && php artisan view:clear


















