【发布时间】:2019-08-13 20:55:56
【问题描述】:
Laravel 项目在本地运行良好,但在使用 ElasticBeanstalk 部署到 EC2 实例时失败。错误是:
PHP Fatal error: Uncaught Error: Class 'Log' not found in /var/app/current/app/Exceptions/Handler.php:35\nStack trace:\
那一行的内容是\Log::error($e);
我尝试了以下方法。
use Illuminate\Support\Facades\Log;
class Handler extends ExceptionHandler
{
...
public function report(Exception $e)
{
...
{
Log::error($e);
}
}
有了这个,我得到一个新的错误:
PHP Fatal error: Uncaught RuntimeException: A facade root has not been set.
我也尝试了use Log,但出现错误PHP Fatal error: Uncaught Error: Class 'Log' not found。
这两个都失败了:
use Illuminate\Support\Facades\Log;
class Handler extends ExceptionHandler
{
...
public function report(Exception $e)
{
...
{
Log::error($e);
}
}
class Handler extends ExceptionHandler
{
...
public function report(Exception $e)
{
...
{
\Log::error($e);
}
}
我没想到会出现这个错误。我的期望是 Laravel 已经有了这个类。
Ps:我是 Laravel 的新手。
【问题讨论】:
-
你确定这是 Laravel 而不是 Lumen?如果是 Lumen,则需要在
bootstrap/app.php中取消注释$app->withFacades();。 -
@ceejayoz bootstrap/app.php 没有
$app->withFacades();。 -
这是一个 laravel 项目
-
您是否在 EC2 实例上运行了
composer install? -
是的。其中生成了一个供应商文件夹
标签: php laravel amazon-web-services laravel-5.4 amazon-elastic-beanstalk