Opcache (отключено)
Эта ситуация заставляет меня ломать голову, так что, надеюсь, кто-нибудь сможет пролить свет.
У меня есть Xdebug, работающий над сайтом, размещенным на сервере cPanel/WHM, с использованием PhpStorm в качестве IDE и помощника Xdebug в моем браузере для запуска сеанса Xdebug через ключ IDE. РЕДАКТИРОВАТЬ: debug.mode = debug.
Обычно все работает нормально, и до сих пор я отлаживал все без проблем. Теперь у меня возникла странная ошибка 404, причину которой я пытаюсь найти.
Когда сеанс Xdebug отключен (через плагин браузера), возникает ошибка (страница 404 не найдена), но когда сеанс Xdebug активен (снова через браузер), страница (при обновлении) отображается так, как и предполагалось.
Дополнительные симптомы/переменные заключаются в том, что ошибка не возникает, когда посетитель вошел в учетную запись на сайте, поэтому моя интуиция подсказывает мне, что это может быть связано с файлами cookie или данными сеанса, но тот факт, что Xdebug влияет на результат, одновременно странен и расстраивает, потому что я не могу отладить проблему, которой не существует, когда Xdebug наблюдает...
Есть предложения?
Обновление 1: После добавления точек регистрации вручную в код я обнаружил, что код выполняется, похоже, игнорирует точки останова и заходит так далеко, прежде чем ошибка (возможно, вызов ajax) перенаправляет результирующий вывод на ошибку 404, которая не найдена, вместо ошибки 503, которую я вижу в выводе $_SESSION.
Обновление 2: после дальнейшего расследования я обнаружил, что проблема также вызвана настройкой debug.mode.
Отладка и отслеживание обоих вызывают проблемы (когда сеанс xdebug неактивен)
profile, development, gcstats и покрытие не вызывают ошибку 404.
Обновление 3: после проверки матрицы совместимости для Xdebug я проверил, что opcache отключен (так и было), а затем попытался переключиться на PHP версии 8.3 (по сравнению с первоначально установленной версией 8.4). 8.3 работает без проблем.
Это объясняет, почему на другом сайте, все еще использующем PHP 7.4, не было такой же проблемы с включенной отладкой.
Итак, подведем итог:
- PHP 8.4, xdebug.mode = debug/trace = странная несовместимость
Подробнее здесь: https://stackoverflow.com/questions/798 ... s-disabled
Мобильная версия