拉拉维尔空白白屏

2022-08-30 07:01:12

我的Laravel网站之前正在工作,我最近升级到Apache 2.4和PHP 5.5.7。

现在我去的时候得到一个白色的空白屏幕,Apache错误日志,路由等中的任何内容都应该像以前一样好。laravel.mydomain.example

.htaccess正在加载,因为我在向 中插入无效行时得到 500。/var/sites/laravel/public/.htaccess

这是我的:.htaccess

$ cat /var/sites/laravel/public/.htaccess
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

这是我的虚拟主机指令:

DocumentRoot "/var/sites/laravel/public"
ServerName laravel.mydomain.example
<Directory "/var/sites/laravel/public">
    AllowOverride All
    allow from all
    Options +Indexes
    Require all granted
</Directory>

和 apachectl -S

$ /usr/local/apache2/bin/apachectl -S
VirtualHost configuration:
*:*                    is a NameVirtualHost
     default server mydomain.example (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
     port * namevhost mydomain.example (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
     port * namevhost laravel.mydomain.example (/usr/local/apache2/conf/extra/httpd-     vhosts.conf:34)
ServerRoot: "/usr/local/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/usr/local/apache2/logs/error_log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/usr/local/apache2/logs/" mechanism=default
PidFile: "/usr/local/apache2/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="daemon" id=1 not_used
Group: name="daemon" id=1 not_used

答案 1

阿帕奇

这个答案是否描述或帮助您的情况?升级到 Apache 2.4 会在 Apache 配置中带来一些更改。

拉拉维尔

您正在检查Laravel的日志还是Apache的日志?

自从升级到Laravel 4.1以来,当应用程序无法写入日志位置时,我遇到了白屏“错误”(WSOD)。我总是通过使Apache可写的应用程序/存储目录(组可写为“www-data”,“apache”或world-writeable)来解决此问题 - 这取决于您的服务器设置。

网络服务器用户

在 Ubuntu/Debian 服务器上,您的 PHP 可能以用户 “www-data” 的身份运行。在 CentOS/RedHat/Fedora 服务器上,您的 PHP 可能以用户“apache”的身份运行。

确保您的文件归运行 PHP 的用户所有:

# Debian/Ubuntu
$ sudo chown -R www-data /path/to/laravel/files

# CentOS/RedHat/Fedora
$ sudo chown -R apache /path/to/laravel/files

请注意,您可能没有以用户 www-data 或 apache 身份运行。这取决于您的托管和设置!

拉拉维尔 4

# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w app/storage

# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w app/storage

拉拉维尔 5+ (包括 6)

# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w storage

# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w storage

#####
# The bootstrap/cache directory may need writing to also
##

# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w bootstrap/cache

# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w bootstrap/cache

答案 2

fideloper对Laravel 5及其新文件结构的回答的更新是:

$ sudo chmod -R o+w storage/

推荐