在升级到 Apache 2.4 和 PHP 5.5.7 之前,我的 Laravel 网站运行正常。但是,我现在在访问 laravel.mydomain.example 时遇到空白屏幕。 Apache 错误日志中没有记录任何错误。路由和配置应该与之前一样正确。
确保 .htaccess 文件正确解析。在 /var/sites/laravel/public/.htaccess 中插入无效行应该会导致 500 错误,表明 .htaccess 正在加载。验证 .htaccess 文件中的以下设置:
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes... RewriteRule ^(.*)/$ / [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]The virtual host directive should also be configured correctly:
DocumentRoot "/var/sites/laravel/public"
ServerName laravel.mydomain.example
AllowOverride All allow from all Options +Indexes Require all granted
目录>
日志文件权限:
升级 Laravel 4.1 及更高版本如果日志文件无法写入指定位置,可能会遇到白屏错误。确保 Apache 用户可写入 app/storage 目录(组可写或全局可写)。
Web 服务器用户:
确定运行 PHP 的用户在您的服务器上。在 Ubuntu/Debian 上可能是“www-data”,在 CentOS/RedHat/Fedora 上可能是“apache”。
文件所有权:
将适当的所有权分配给PHP 用户:
# Debian/Ubuntu $ sudo chown -R www-data /path/to/laravel/files # CentOS/RedHat/Fedora $ sudo chown -R apache /path/to/laravel/files**File Permissions:** Set the app/storage directory permissions accordingly:
$ sudo chmod -R gu w app/storage
$ sudo chmod -R guo w app/storage
对于 Laravel 5 和 6 ,将这些权限应用于 storage 和 bootstrap/cache 目录:
# Group Writable (Group, User Writable) $ sudo chmod -R gu+w storage $ sudo chmod -R gu+w bootstrap/cache # World-writable (Group, User, Other Writable) $ sudo chmod -R guo+w storage $ sudo chmod -R guo+w bootstrap/cache
以上是为什么我的 Laravel 网站在将 Apache 升级到 2.4 并将 PHP 升级到 5.5.7 后显示空白屏幕?的详细内容。更多信息请关注PHP中文网其他相关文章!