Laravel 空白の白い画面 質問する

Laravel 空白の白い画面 質問する

私の Laravel サイトは以前は動作していましたが、最近 Apache 2.4 と PHP 5.5.7 にアップグレードしました。

今は、 に行くと白い空白の画面が表示されますlaravel.mydomain.example。Apache エラー ログ、ルートなどには何も表示されませんが、以前は正常に動作していたはずです。

.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) が表示されるようになりました。私はいつも、app/storage ディレクトリを Apache が書き込み可能にすることでこの問題を解決してきました (「www-data」、「apache」へのグループ書き込み可能、​​または全世界書き込み可能 - サーバーの設定によって異なります)。

Web サーバー ユーザー

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

Laravel 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

おすすめ記事