라라벨 블랭크화이트스크린

이전에 Laravel 사이트가 작동했었는데, 최근에 Apache 2.4와 PHP 5.5.7로 업그레이드했습니다.

이제 다음 작업 시 흰색 공백 화면이 나타납니다.laravel.mydomain.exampleApache 에러 로그, 루트등의 어느 것도, 종래와 같이 정상적으로 동작하지 않습니다.

.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 


질문에 대한 답변



아파치

답변이 당신의 상황을 설명하거나 도움이 됩니까?Apache 2.4로 업그레이드하려면 Apache 구성이 일부 변경됩니다.

라라벨

라라벨의 로그나 아파치의 로그 중 어느 쪽을 확인하나요?

Larabel 4.1로 업그레이드한 이후 응용 프로그램이 로그 위치에 쓸 수 없는 경우 WSOD(화이트 스크린 오류)가 발생하였습니다.Apache(서버 설정에 따라 “ww-data”, “apache” 또는 “world-writable” 중 하나)에 의해 앱/스토리지 디렉토리를 쓰기 가능하게 함으로써 항상 이 문제를 해결했습니다.

웹 서버 사용자

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 

Larabel 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 



Larabel 5 및 새로운 파일 구조에 대한 fideloper의 답변 업데이트는 다음과 같습니다.

$ sudo chmod -R o+w storage/ 



public/index.php 페이지에서 시험해 보세요.

error_reporting(E_ALL); ini_set('error_reporting', E_ALL); ini_set("display_errors", 1); 



다음 절차로 Larabel 5의 빈 화면 문제가 해결되었습니다.

  • Larabel 루트 폴더로 이동
  • 쓰기 권한을 부여하다bootstrap/cache그리고.storage디렉토리

sudo chmod – R 777 부트스트랩/캐시 스토리지

  • 이름 바꾸기.env.example로..env
  • Larabel root에서 terminal/command-prompt에서 다음 명령을 사용하여 응용 프로그램 키를 생성합니다.

php 장인 키: 생성

그러면 암호화 키가 생성되고 다음 값이 업데이트됩니다.APP_KEY.env파일

이것으로 문제가 해결될 겁니다.

문제가 해결되지 않는 경우는, 갱신합니다.config/app.php위의 장인 키 생성 명령에서 생성된 새 키를 사용합니다.

'key' => env('APP_KEY', 'SomeRandomString'),

로.

'key' => env('APP_KEY', 'KEY_GENERATED_FROM_ABOVE_COMMAND'),




에러를 표시하기 위해서 스토리지에 액세스 할 수 있도록 한 후에도 공백 페이지가 표시되는 경우는, 이 2 행을 public/index.flash 의 선두 행에 입력해, 최소한 무슨 일이 일어나고 있는지를 확인해 주세요.이 에러는, 클래스 「PDO」를 /var/www/***/config/database에서 찾을 수 없습니다.16행의 php

error_reporting(E_ALL); ini_set('display_errors', 1);