laravel

Laravel 5,6 to 7 upgrade or HTTP ERROR 500

При обновлении с ларавел версий 5 или 6 до 7-й возникает ошибка HTTP ERROR 500. Это значит что везде нужно заменить использование класса "Exception" на "Throwable".

Throwable может быть использован в блоке try/catch для отлова и Exception и Error (и любых других возможных в будущем исключений). Помните, что хорошей практикой является «ловля» исключений определенным классом исключений и обработка каждого типа отдельно. Но и иногда требуется отлавливать любое исключение. В PHP 7 try/catch блок для всех исключений должен использовать Throwable вместо Exception.

 try {
  // Code that may throw an Exception or Error.
 } catch (Throwable $t) {
  // Handle exception
 }

Все слова "Exception" заменить на "Throwable"

use Exception;
на
use Throwable;

@throws Exception
на
@throws Throwable

\Exception
на
\Throwable

Exception $e
на
Throwable $e

 

Источники:

Upgrading Guide To 7.0 From 6.x - https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades
Throwable (PHP 7) - https://www.php.net/manual/ru/class.throwable.php
Throwable exception и ошибки в php7 - https://habr.com/ru/post/261451/

Leave a reply