web-dev-qa-db-ja.com

laravel 4?

Laravel 4ベータ版でアプリを作成しようとしていますが、エラーが表示されないためデバッグできません。display_errorsがオン、error_reportingE_ALLおよびdebug => trueconfig/app.php)です。public/index.phpでエラーを実行しようとすると、解析エラーが表示されますが、ルーターで実行すると表示されます空白のページ(死の白い画面)これを修正するにはどうすればよいですか?

ありがとうございました

27
Blue Genie

@ Matanya-サーバーログを見て、エラー500が実際に何であるかを確認しましたか?それは何でもいい

@ Aladin-死の白い画面(WSOD)は、Laravel 4。

オプション1: Laravel logs(app/storage/logs)に移動し、そこにエラーが含まれているかどうかを確認します。

オプション2: Go to you PHPサーバーログ、WSODの原因となっているPHPエラーを探します

オプション3:古き良きデバッグスキル-ルートファイルの先頭にdie( 'hello')コマンドを追加します-その後、 'hello'が表示されなくなるまで、アプリケーションの奥深くに移動し続けます'メッセージ。これを使用すると、WSODの原因となっている行を絞り込み、問題を修正できます。

44
Laurence

新しいlaravelインスタンスをインストールした後、白い画面に問題が発生しました。白い画面の理由はそのアプリであることが判明したため、ログに何も見つかりませんでした。/storageは書き込み可能ではありませんでした。

画面にエラーメッセージを表示するために、public/index.phpに以下を追加しました

try {
    $app->run();
} catch(\Exception $e) {
    echo "<pre>";
    echo $e;
    echo "</pre>";
}

その後、問題を解決するのは簡単でした。

33
cw24

App/config/app.phpに移動します

'debug' => trueに設定し、

19
John Doe

@The Shift Exchangeの良いアドバイスに従って、私はerror_logを見て、実際に問題を解決することができました。それは単に許可の問題でした:

Tue Feb 26 11:22:20 2013] [error] [client 127.0.0.1] PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/Users/matanya/Sites/indgo/app/start/../storage/logs/log-Apache2handler-2013-02-26.txt" could not be opened: failed to open stream: Permission denied' in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71\nStack trace:\n#0 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(77): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\RotatingFileHandler->write(Array)\n#2 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(217): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#3 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(281): Monolog\\Logger->addRecord(400, Object(ErrorException), Array)\n#4 [internal function]: Monolog\\Logger->addError(Object(ErrorException))\n#5 /Users/matanya/Sites/in in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 71

chmodを使用して厳しくないアクセス許可を適用すると、すべてが通常に戻りました。

しかし、サーバーエラーではなく空白の画面が表示されていたため、OPの質問に答えているかどうかはわかりません。

3
Matanya

Configフォルダー内を開くapp.php

変化する

'debug' => false,

'debug' => true, 
2
Hasnat Safder

多分Laravel 4ではありませんが、L5.2 *では同様の問題がありました。

私は単にstorage/logsディレクトリの所有権をwww-dataに変更しました:

# chown -R www-data:www-data logs

PS:これはUbuntu 15とApacheを使用しています。

logsディレクトリは次のようになります。

drwxrwxr-x  2 www-data   www-data 4096 jaan  23 09:39 logs/

Laravelルートフォルダーで、ストレージディレクトリを777にchmodします。

1
TheRealJAG

https://github.com/loic-sharma/profiler これは、laravel3デバッグバーの代替の良い例です。

0
Ajay Patel

app/storage/logsにアクセスすると、errorのログが利用できます。今日の日付のファイル名に移動すると、アプリケーションで最新のerrorが見つかります。

OR

app/config/app.phpを開き、設定を変更します

'debug' => false,

'debug' => true, 

OR

アプリケーションの.envファイルに移動し、構成を変更します

APP_LOG_LEVEL=debug
0
Rahul Hirve

@ cw24の回答に加えて、•Laravel 5.4代わりにpublic/index.php

try {
    $response = $kernel->handle(
        $request = Illuminate\Http\Request::capture()
    );
} catch(\Exception $e) {
    echo "<pre>";
    echo $e;
    echo "</pre>";
}

私の場合、MySQLを起動するのを忘れていました。
ところで、通常はmysql.server startターミナルで

0
Grant