Код работает, когда он включен, но выдает ошибку, когда Xdebug отключен [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Код работает, когда он включен, но выдает ошибку, когда Xdebug отключен [закрыто]

Сообщение Anonymous »

Cloudlinux
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»