За последние 24 часа нас посетили 64005 программистов и 3607 роботов. Сейчас ищут 1750 программистов ...

Как обойти проблему?

Тема в разделе "PHP для новичков", создана пользователем tmpnik, 6 фев 2026.

  1. tmpnik

    tmpnik Активный пользователь

    С нами с:
    21 мар 2011
    Сообщения:
    52
    Симпатии:
    0
    Здравствуйте, есть сайт CMS аквилон написан где то в 10 году, работает на php7.3, но сейчас перешли на версию php 8.2 и стала появляться такая проблема при загрузке файла с компа на сервер,
    Как можно закоментить или что-то апдейтить, чтоб просто грубо эту проблему обойти?

    Fatal error: Uncaught TypeError: Aquilon_Catcher::handleException(): Argument #1 ($exception) must be of type Exception, Error given in include/aquilon/catcher.php:110 Stack trace: #0 [internal function]: Aquilon_Catcher->handleException() #1 {main} thrown in include/aquilon/catcher.php on line 110
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.872
    Симпатии:
    753
    Адрес:
    Татарстан
    просто и грубо - не в данном случае
    ... либо откатываться на 7.3, либо переписывать куски где поменялся вызов функций... ибо я думаю что всякие такие ошибки будут не в одном месте
     
  3. tmpnik

    tmpnik Активный пользователь

    С нами с:
    21 мар 2011
    Сообщения:
    52
    Симпатии:
    0
    Спасибо за ответ, но проблема с безопасностью, поэтому надо переходить на новую версию.. В общем понятно, буду думать, что дальше.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.829
    Симпатии:
    1.334
    Адрес:
    Лень
    В доках гласит один из комментов:

    PHP:
    1. try {
    2. // Code that may throw an Exception or Error.
    3. } catch (Throwable $t) {
    4. // Executed only in PHP 7, will not match in PHP 5.x
    5. } catch (Exception $e) {
    6. // Executed only in PHP 5.x, will not be reached in PHP 7
    7. }
    В твоем коде ожидался Exception, но пришел (новый) тип Error
    Вместо Exception установи Throwable
    --- Добавлено ---
    Throwable является родительским интерфейсом для всех объектов, выбрасывающихся с помощью выражения throw, включая классы Error и Exception.
     
    tmpnik нравится это.
  5. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    944
    Симпатии:
    146
    Согласно PHP: Error - Manual в коде тип аргумента с Exception на Throwable заменить, авось поможет.
     
    tmpnik нравится это.
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.858
    Симпатии:
    656
    Как выше написали, интерфейс Throwable был и в семерке. Т.е. сама ошибка вызвана чем-то другим. А отлов, да, для широты охвата можно делать при помощи Throwable.
     
    tmpnik нравится это.
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.829
    Симпатии:
    1.334
    Адрес:
    Лень