Ubuntu 20本地环境访问Laravel项目显示空白页无报错如何解决
第一步:检查Apache核心模块是否启用
Laravel运行依赖Apache的rewrite模块,Ubuntu默认安装后不会自动开启:
- 执行命令开启rewrite模块:
sudo a2enmod rewrite - 确认对应PHP版本的Apache模块已启用,例如使用PHP8.1则执行:
sudo a2enmod php8.1 - 模块配置完成后重启Apache生效:
sudo systemctl restart apache2
第二步:开启错误显示定位具体问题
空白无报错一般是错误输出被关闭,按以下操作开启调试:
- 打开Laravel项目根目录的
.env文件,修改配置:APP_DEBUG=true APP_ENV=local - 打开PHP配置文件(路径参考
/etc/php/[你的PHP版本]/apache2/php.ini),修改参数:display_errors = On display_startup_errors = On error_reporting = E_ALL - 重启Apache后再次访问域名,即可看到具体报错信息。
第三步:清理冲突的重写规则
你已经将虚拟主机的DocumentRoot直接指向项目public目录,项目根目录下的.htaccess属于冗余配置,会和public目录下的重写规则冲突导致路径解析错误,直接删除根目录的.htaccess文件,仅保留public目录下的默认.htaccess即可。
第四步:确认域名解析配置
检查本地/etc/hosts文件,确认已添加正确的解析记录:
127.0.0.1 laravel-local.com
如果是跨设备访问,需要将记录值改为服务器对应的局域网/公网IP。
第五步:查看Apache日志排查隐式错误
如果开启调试后仍无报错,直接查看Apache错误日志:sudo tail -f /var/log/apache2/error.log
刷新访问页面即可看到实时错误输出,权限、模块、路径类问题都会在此记录。
注意:之前给整个项目授予777权限的操作存在安全风险,问题修复后建议将项目所属用户组改为
www-data,仅给storage和bootstrap/cache目录授予775权限,其余文件统一设为644权限即可。
内容的提问来源于stack exchange,提问作者MK12
相关产品推荐
相关产品推荐

