在PHP 7.2 Ubuntu上运行composer安装时出错

时间:2019-01-31 15:38:09

标签: php laravel ubuntu laravel-5 laravel-5.1

在PHP 7.2-Laravel 5.1上的composer安装结束时,我一直收到此错误。

> php artisan clear-compiled
PHP Fatal error:  Uncaught TypeError: Argument 1 passed to App\Exceptions\Handler::report() must be an instance of Exception, instance of Error given, called in /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 73 and defined in /home/forge/bheng/app/Exceptions/Handler.php:29
Stack trace:
#0 /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(73): App\Exceptions\Handler->report(Object(Error))
#1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Error))
#2 {main}
  thrown in /home/forge/bheng/app/Exceptions/Handler.php on line 29
[2019-01-31 10:29:34] production.ERROR: Symfony\Component\Debug\Exception\FatalErrorException: Uncaught TypeError: Argument 1 passed to App\Exceptions\Handler::report() must be an instance of Exception, instance of Error given, called in /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 73 and defined in /home/forge/bheng/app/Exceptions/Handler.php:29
Stack trace:
#0 /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(73): App\Exceptions\Handler->report(Object(Error))
#1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Error))
#2 {main}
  thrown in /home/forge/bheng/app/Exceptions/Handler.php:29
Stack trace:
#0 {main}  



  [Symfony\Component\Debug\Exception\FatalErrorException]                                                                                                                                                                                                                                                                       
  Uncaught TypeError: Argument 1 passed to App\Exceptions\Handler::report() must be an instance of Exception, instance of Error given, called in /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php on line 73 and defined in /home/forge/bheng/app/Exceptions/Handler.php:29  
  Stack trace:                                                                                                                                                                                                                                                                                                                  
  #0 /home/forge/bheng/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(73): App\Exceptions\Handler->report(Object(Error))                                                                                                                                                                     
  #1 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleException(Object(Error))                                                                                                                                                                                                                      
  #2 {main}                                                                                                                                                                                                                                                                                                                     
    thrown                                                                                                                                                                                                                                                                                                                      


Script php artisan clear-compiled handling the post-update-cmd event returned with error code 255
┌──[root@bheng]──[/home/forge/bheng] 
└──  

app / Exceptions / Handler.php

<?php namespace App\Exceptions;

use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Database\Eloquent\ModelNotFoundException as ModelNotFoundException;

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;


class Handler extends ExceptionHandler {

    /**
     * A list of the exception types that should not be reported.
     *
     * @var array
     */
    protected $dontReport = [
    'Symfony\Component\HttpKernel\Exception\HttpException'
    ];

    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $e
     * @return void
     */
    public function report(Exception $e)
    {
        return parent::report($e);
    }



    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $e
     * @return \Illuminate\Http\Response
     */

    public function render($request, Exception $e)
    {
        if ($this->isHttpException($e))
        {
            return $this->renderHttpException($e);
        }
        else if($e instanceof NotFoundHttpException)
        {
            return response()->view('missing', [], 404);
        }

        else if($e instanceof ModelNotFoundException )
        {
            return response()->view('layouts.share.errors.model_not_found', [], 404);
        }

        else
        {
            return parent::render($request, $e);
        }
    }
}

详细信息

enter image description here


我已经尝试了这两个命令

enter image description here

我仍然得到相同的结果。

如何预防?

1 个答案:

答案 0 :(得分:1)

您可以运行composer install --no-scriptscomposer update --no-scripts来安装/更新任何软件包,它将跳过任何artisan命令的运行。

然后您可以尝试运行php artisan clear-compiled来查看更新是否已解决问题。

如果这不起作用,则应考虑将应用程序升级为使用较新的Laravel版本,或将PHP降级为与您要使用的Laravel版本兼容的较旧版本。