проблема при смене версии php с 7.3 на 7.4 и выше

Доброго дня, при попытке сменить версию php с 7.3 на 7.4 или выше, выдает ошибку 500, при возвращении 7.3 все в норме, 7.4 нужна для работы плагина, хостинг свой, где поискать проблему?

логи выдаёт кучу таких строк:

[05-Oct-2022 17:40:24 Europe/Moscow] PHP Notice:  Undefined index: price in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/dd/f7/32/ddf732f163bc0464114560bff7572ad9374a94cd.file.list-thumbs-view-grid.html.php on line 122 [05-Oct-2022 17:40:24 Europe/Moscow] PHP Notice:  Trying to get property 'value' of non-object in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/dd/f7/32/ddf732f163bc0464114560bff7572ad9374a94cd.file.list-thumbs-view-grid.html.php on line 122 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice:  Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice:  Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice:  Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice:  Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice:  Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68

18 ответов

  • 1
    Михаил Ушенин 5 октября 2022 17:57 #
    выдает ошибку 500

    На какой странице?

  • 1
    Злой Димон 5 октября 2022 19:15 #

    Может кэш почистить? 

  • 1
    ITFrogs Эксперт Разработчик 5 октября 2022 22:13 #

    о, я это вижу у многих клиентов в логах. 

  • 1
    Глухов Олег 6 октября 2022 08:31 #

    Похоже проблема моя вот в чём:

    на PHP 7.4 и выше, версия Apache используется 2.4,директивы в .htaccess имеют другой синтаксис чем PHP 7.3 (Apache 2.2) , при использовании устаревших директив, типа "Deny from all" на сайте появляется ошибка сервера 500

    проблему еще не решил, исправлять .htaccess не особо умею, но похоже я на правильном пути 

    • +1
      Михаил Ушенин Михаил Ушенин 6 октября 2022 10:00 #

      Файлы .htaccess исправлять не нужно. Возможно, в конфигурации Apache 2.4 у вас не подключён модуль mod_access_compat, чтобы поддерживались директивы Deny/Allow.

      • +1
        Глухов Олег Глухов Олег 6 октября 2022 10:43 #

        Ответ техподдержки хостинга: Изменить конфигурация apache нет возможности

    • +1
      Глухов Олег Глухов Олег 6 октября 2022 11:02 #

      Из того что я вижу о смене директив, надо поменять одну строку вначале .htaccess с

      <FilesMatch "\.md5$">
      Deny from all

      на 
      <FilesMatch "\.md5$">

      Require all denied

      больше не нашел что править, при этом админка начинает корректно работать, а вот верстка плывет и весь видимый функционал не работает

      • +1

        что в логах то?  Это не проблема в целом Webasyst, а настройка хостинга. Если вы не можете его настроить, вернее его вам не дают - проще сменить хостера или тариф шаредшостинга на нормальный VPS/VDS

        • +1
          Глухов Олег Глухов Олег 7 октября 2022 08:58 #

          наверху я кусок логов цитировал, в php.log строчек 40-50, для примера:
          все ведут в 

          PHP Notice:  Trying to get property 'value' of non-object in wa-cache/.....
          PHP Notice:  Undefined index: hideCatList in wa-cache/......
          PHP Notice:  Undefined index: _is_search_pro in wa-cache/....

          я на хостинге этом годиков 15 и первый раз как то столкнулся с проблемой вот не уверен пока что 100% дело в хостинге

          • +1
            replicant replicant 7 октября 2022 13:46 #

            Для начала надо понять, что не в кеше дело, а в том, что в шаблонах каких-то проблемы. Возьмите пример из ваших же логов.

            PHP Notice: Undefined index: price in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/dd/f7/32/ddf732f163bc0464114560bff7572ad9374a94cd.file.list-thumbs-view-grid.html.php on line 122

            Зачем в кеш ходить? Вам нужно найти где лежит list-thumbs-view-grid.html среди каких-то шаблонов и там уже в исходнике шаблона исправлять нотис вида Undefined index: price в строке примерно около 122-й

            И так далее по списку проблем шаг за шагом

            Undefined index: menuIcon in header.dd.cat.list.html on line 68

            В вышеупомянутых логах торчат только какие-то ляпы из кода шаблонов.

            Если что-то (код шаблона какой-то или типа того) не работает на 7.4, а работает на 7.3, то ищите что именно и переписывайте.

            С падающей админкой чуть сложнее, но определенно какой-то плагин в этом точно будет виноват. Отключайте их по очереди, начиная с подозрительных (проверяйте по хукам что и кто задействует, чтобы не дергать лишнего) и вычисляйте "засранца".

  • 1
    Копнина Наталья 11 октября 2022 13:24 #

    Здравствуйте. У нас тоже такая же проблема возникает. При попытке смены PHP c 7.3 на 7.4 выдает: 

    Query Error 2013: Lost connection to MySQL server during query
    Query: SELECT id, full_url FROM shop_page WHERE (domain = 'neodex.ru' AND route = '*') AND (status = 1) code 2013
    ## wa-system/database/waModel.class.php(266)
    #0 wa-system/database/waModel.class.php(367): waModel->run('SELECT id, full...')
    #1 wa-system/database/waDbQuery.class.php(132): waModel->query('SELECT id, full...')
    #2 wa-system/database/waDbQuery.class.php(85): waDbQuery->query()
    #3 wa-system/routing/waRouting.class.php(292): waDbQuery->fetchAll()
    #4 wa-system/routing/waRouting.class.php(324): waRouting->getPageRoutes('shop', Array)
    #5 wa-system/routing/waRouting.class.php(240): waRouting->getAppRoutes('shop', Array, true)
    #6 wa-system/controller/waDispatch.class.php(288): waRouting->dispatch()
    #7 wa-system/controller/waDispatch.class.php(34): waDispatch->dispatchFrontend('')
    #8 wa-system/waSystem.class.php(610): waDispatch->dispatch()
    #9 index.php(7): waSystem->dispatch()
    #10 {main}
    GET
    []
    Params
    [
    'app' => 'shop',
    '_name' => 'NEODEX.RU',
    'theme' => 'unishop',
    'theme_mobile' => 'unishop',
    'checkout_version' => '1',
    'locale' => 'ru_RU',
    'ssl_all' => '1',
    'title' => 'NEODEX.RU Интернет-магазин',
    'meta_keywords' => 'NEODEX.RU Интернет-магазин',
    'meta_description' => 'Гарнитуры для call-центра и офиса. Системные телефоны, IP телефоны, IP-АТС, шлюзы, видеонаблюдение, оборудование систем связи. Доставка по Москве и России.',
    'og_title' => 'NEODEX.RU Интернет-магазин',
    'og_image' => '',
    'og_video' => '',
    'og_description' => 'Гарнитуры для call-центра и офиса. Системные телефоны, IP телефоны, IP-АТС, шлюзы, видеонаблюдение, оборудование систем связи. Доставка по Москве и России.',
    'og_type' => '',
    'og_url' => '',
    'url_type' => '2',
    'products_per_page' => '',
    'type_id' => '0',
    'currency' => 'RUB',
    'stock_id' => 'v2',
    'public_stocks' => '0',
    'drop_out_of_stock' => '0',
    'payment_id' => [
    '4',
    '22',
    '16',
    ],
    'shipping_id' => [
    '2',
    '8',
    '9',
    '12',
    ],
    'checkout_storefront_id' => '7c69a9bb234eb4b1048826fb0264b945',
    ]
  • 1
    Evgeny 14 октября 2022 14:23 #

    Аналогичная проблема при попытке смены php7.3 на php7.4.

    Возникает ошибка:

    Error 500 (Ошибка сервера! Произошла внутренняя ошибка сервера, в результате которой серверу не удалось завершить обработку Вашего запроса. Сервер перегружен, или в CGI-скрипте обнаружена ошибка.)

    В логах сообщается:

    .htaccess: Invalid command 'Deny', perhaps misspelled or defined by a module not included in the server configuration, referer: /webasyst/webasyst/settings/

    Техподдержка хостинга ответила:

    Версия php7.4 работает на версии Apache2.4. На данной версии изменен синтаксис некоторых директив для файла .htaccess. Необходимо переписать директивы. В рамках тарифов виртуального хостинга подключить модуль обратной совместимости mod_access_compat нельзя.


    Похоже, реально, проблема в директивах. На новом проекте на последней версии Магазина отключил вообще все плагины, все равно ругается.

    И при новой установке Магазина с нуля на хостинге с php7.4 установка прерывается ошибкой Error 500.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите