Как удалить xdebug linux

Как отключить XDebug

Я думаю, что мой сервер стал медленным, так как я установил XDebug. Итак, чтобы проверить мою гипотезу, я хочу полностью отключить XDebug. Я искал учебники о том, как это сделать, но я не могу найти такую ​​информацию.

Найдите свой php.ini и найдите XDebug.

Установите xdebug autostart в значение false

Отключить свой профилировщик

Обратите внимание, что может быть потеря производительности, даже если xdebug отключен, но загружен . Чтобы отключить загрузку самого расширения, вам необходимо прокомментировать его в своем php.ini. Найдите запись, которая выглядит так:

и положил a ; чтобы прокомментировать это, например ;zend_extension = …

Отметьте это сообщение XDebug, как отключить удаленную отладку для одного .php-файла?

В Linux Ubuntu ( возможно, еще один – это не проверенный ) дистрибутив с PHP 5 на борту, вы можете использовать:

И с PHP 7

После этого перезагрузите сервер:

Кроме того, вы можете добавить xdebug_disable() в свой код. Пытаться:

Расширение комментариев в php.ini и перезапуск Apache. Вот простой скрипт (вы можете назначить ему ярлык)

Я переименовал файл конфигурации и перезапустил сервер:

Это работало для меня.

В Windows (WAMP) в файле INI CLI:

Apache будет обрабатывать xdebug , а композитор – нет.

в xubuntu я полностью отключил xdebug для CLI с этим …

1: Добавьте следующий код в скрипт инициализации:

2: Добавьте следующий флаг в php.ini

Рекомендуется 1 вариант.

Найдите свой PHP.ini и найдите XDebug.

обычно в Ubuntu его путь

Внесите следующие изменения (лучше просто прокомментировать их, добавив в начале)

затем снова перезапустите сервер для Ubuntu

Я столкнулся с подобной проблемой. Иногда вы не найдете xdebug.so в php.ini. В этом случае выполните phpinfo() в php-файле и проверьте, что Additional .ini files parsed . Здесь вы увидите больше файлов ini. Одним из них будет файл ini xdebug. Просто удалите (или переименуйте) этот файл, перезапустите apache, и это расширение будет удалено.

У меня возникла проблема: даже если я установил

Было показано Xdebug-Error-Message-Decoration.

Только если я использую этот флаг, Xdebug был отключен.

Переименуйте файл конфигурации и перезапустите apache.

Сделайте реверс для повторного включения.

Отключить xdebug

Для PHP 7: sudo nano /etc/php/7.0/cli/conf.d/20-xdebug.ini

Для PHP 5: sudo nano /etc/php5/cli/conf.d/20-xdebug.ini

Затем прокомментируйте все и сохраните.

UPDATE – отключить только CLI

Согласно комментарию @ igoemon, это лучший метод:

Примечание. Обновите путь к вашей версии PHP.

Если вы используете MAMP Pro для Mac OS X, это делается с помощью клиента MAMP, сняв флажок « Активировать Xdebug» на вкладке PHP :

Итак, да, все, что вам нужно, просто прокомментируйте строку в файле INI, например zend_extension=xdebug.so или аналогичном.

Комментарии могут быть сделаны добавлением точки с запятой.

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

Я сделал быстрый переключатель для Xdebug. Может быть, это было бы полезно для кого-то.

Для WAMP щелкните левой кнопкой мыши по значку Wamp на панели задач. Наведите курсор мыши на PHP, а затем нажмите на php.ini и откройте его в текстовом редакторе.

Теперь найдите фразу «zend_extension» и добавьте; (точка с запятой) впереди.

Перезапустите WAMP, и вам хорошо идти.

Ubuntu 16.04 удаляет xdebug из PHP.

Найдите файл php.ini и убедитесь, что xdebug:

Это может привести к разным версиям, если вы запустите php -v чтобы найти свою версию.

Читайте также:  Розовые обои для windows

Источник

Настройка Xdebug в PhpStorm

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

Для языка программирования PHP используется отладчик Xdebug, PHPStorm — это одна из самых популярных сред разработки. В этой статье мы рассмотрим как настроить Xdebug в PhpStorm для отладки на локальном компьютере и в Docker.

Настройка Xdebug в PhpStorm

1. Отладка на локальном компьютере

Все настройки будут показаны на примере Ubuntu и интерпретатора PHP, настроенного вместе с Apache. Для других конфигураций пути к файлам могут отличаться, но суть останется та же. Давайте разберемся как это будет работать. Отладчик Xdebug позволяет приостанавливать выполнение кода, смотреть стек вызовов и содержимое переменных. Однако удобного интерфейса управления у него нет. Поэтому для управления отладкой будем использовать IDE. Но IDE не может никак сообщить отладчику что надо запустить отладку, потому что она отвечает только за код. Для этого понадобится ещё расширение для браузера Debug Helper, с помощью которого вы сможете включить режим отладки.

Сначала необходимо установить Xdebug. Для этого выполните:

sudo apt install xdebug

После завершения установки Xdebug надо настроить программу так, чтобы при запуске сеанса отладки она пыталась подключится к нашей IDE для управления отладкой. Для этого добавьте такие строчки в файл /etc/php/7.4/apache2/conf.d/20-xdebug.ini в версии Xdebug 2:

sudo vi /etc/php/7.4/apache2/conf.d/20-xdebug.ini

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=false

Для новой версии Xdebug 3 старая конфигурация тоже будет работать, но лучше использовать новый стандарт:

xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.discover_client_host = false
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9000

Давайте рассмотрим эти настройки подробнее. Первый параметр xdebug.mode — режим отладки, возможные варианты:

  • develop — включает вывод дополнительной информации, переопределяет var_dump;
  • debug — режим построчного выполнения кода, именно он нужен в данном случае;
  • profile — профилирование;
  • trace — трассировка выполнения программы.

Если необходимо, вы можете включить несколько режимов, перечислив их через запятую. Вторая строчка xdebug.start_with_request определяет как будет запускаться отладчик для режимов debug, trace и им подобных:

  • yes — всегда, при запуске php скриптов;
  • no — запуск только из кода с помощью специальных функций;
  • trigger — по запросу, с помощью специальной переменной в $_ENV, $_POST, $COOKIE или в другом массиве. Этот вариант подходит лучше всего в данном случае чтобы отладчик не запускался когда в этом нет необходимости.

Если третья строка xdebug.discover_client_host имеет значение true, то xdebug пытается подключится к хосту, переданному в заголовке HTTP_X_FORWARDED_FOR. Но так как хост указывается в следующей строке, в данном случае эта возможность не нужна. Дальше указывается хост клиента, куда надо подключится для управления отладкой 127.0.0.1 и порт 9000. Именно этот порт используется в PhpStorm по умолчанию на данный момент. После сохранения настроек перезапустите Apache:

sudo systemctl restart apache2

Теперь надо настроить PhpStorm. Запустите программу, затем откройте меню Run -> Edit Configurations. Перед вами откроется окно, в котором надо настроить отладчик.

Нажмите кнопку + и в открывшемся списке выберите PHP Remote Debugger:

В настройках можно ничего не менять, укажите только имя этого способа отладки. Если сервер, с которого будут ожидаться подключения не задать, то будут приниматься все подключения.

Если вам нужно изменить порт, к которому будет подключаться Xdebug откройте меню File -> Settings -> PHP -> Debug -> DBGp Proxy. Здесь можно указать нужный порт:

Читайте также:  Требования оборудования для windows 10

Теперь IDE готова. Кликните по значку жука на верхней панели инструментов чтобы программа начала ожидать подключения отладчика и поставьте несколько точек останова в коде просто кликнув перед строчкой с кодом:

Дальше осталось настроить браузер. Для Chrome можно скачать это расширение. Установите его и откройте страницу, которую надо отлаживать. Кликните по значку расширения и выберите Debug. Значок расширения станет зеленым:

Обновите страницу и возвращайтесь к PHPStorm. Если всё было сделано верно, там запустится сеанс отладки. При первом запуске программа может попросить настроить соответствия локальных путей к файлам с удаленными. Для локального сервера здесь ничего настраивать не надо, достаточно нажать Accept:

Дальше отладчик остановит выполнение на выбранной точке останова и в программе появится интерфейс отладки:

Как видите всё довольно просто. Дальше давайте разберемся как настроить Xdebug PhpStorm и Docker.

2. Отладка Php в Docker

C Docker возникает одна сложность. Поскольку отладчик должен сам подключится к IDE, необходимо пробросить хост в контейнер. В windows это можно сделать с помощью адреса host.docker.internal. Но в Linux, по умолчанию это не происходит. Для того чтобы добавить такой адрес надо добавить в docker-compose такие строчки:

Давайте для этого примера будем использовать такую структуру директорий:

Минимально необходимый docker-compose.yaml будет выглядеть вот так:

Здесь объявляется два контейнера, nginx и php-fpm. В первый не надо вносить никакие изменения, поэтому можно просто брать официальный образ, монтировать папку с исходниками, конфигурационный файл и пробрасывать порт. Во второй контейнер надо установить и настроить Xdebug поэтому его придется собрать на основе официального контейнера php. Для этого же контейнера надо указать директиву extra_hosts, без неё ничего работать не будет. Конфигурация Nginx тоже вполне стандартная:

Здесь настроена обработка PHP скриптов в контейнере php-fpm, и редирект несуществующих URL на index.php, что вполне стандартно для многих фреймворков и CMS. Самое интересное — Dockerfile контейнера php-fpm, он выглядит вот так:

FROM php:8.0.3-fpm-buster
RUN pecl install xdebug \
&& docker-php-ext-enable xdebug
COPY xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini

Здесь устанавливается xdebug с помощью pecl, а затем копируется его конфигурационный файл в контейнер. Вот этот конфигурационный файл:

xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.discover_client_host = false
xdebug.client_host = host.docker.internal
xdebug.client_port = 9000

В контейнере установлен Xdebug 3 для PHP 8, потому что старая версия с этой версией языка уже не работает, поэтому используется новый синтаксис конфигурации. Ну и хост, host.docker.internal, который раньше был прописан в docker-compose.yaml. Настройка xdebug PHPStorm docker завершена. Дальше вы можете запустить проект:

docker-compose up —build

Теперь, как и в предыдущем варианте вы можете включить в браузере режим отладки, обновить страницу и отладчик успешно подключится к IDE, не смотря на то, что он работает в Docker:

Выводы

В этой статье мы рассмотрели как выполняется настройка xdebug PHPStorm на локальном компьютере и в Docker контейнере. Если всё сделать правильно отладчик будет работать и помогать вам искать ошибки в коде.

Источник

Как отключить XDebug

Я думаю, что мой сервер стал медленным с тех пор, как я установил XDebug. Итак, чтобы проверить свою гипотезу, я хочу полностью отключить XDebug. Я искал учебники о том, как это сделать, но не могу найти такую ​​информацию.

24 ответа

Найдите свой php.ini и найдите XDebug.

Установите для автозапуска xdebug значение false

Отключите ваш профилировщик

Обратите внимание, что может быть потеря производительности даже при отключенном, но загруженном xdebug. Чтобы отключить загрузку самого расширения, вам нужно прокомментировать его в своем php.ini. Найдите запись, которая выглядит так:

И поставьте ; , чтобы прокомментировать это, например ;zend_extension = … .

Отключить xdebug

Для PHP 7: sudo nano /etc/php/7.0/cli/conf.d/20-xdebug.ini

Для PHP 5: sudo nano /etc/php5/cli/conf.d/20-xdebug.ini

Читайте также:  Lenovo s110 drivers windows 10

Затем закомментируйте все и сохраните.

ОБНОВЛЕНИЕ — отключить только для интерфейса командной строки

Согласно комментарию @ igoemon, это лучший метод:

Примечание. Обновите путь к вашей версии PHP.

Найдите свой PHP.ini и найдите XDebug.

Обычно в Ubuntu его путь

Внесите следующие изменения (лучше просто прокомментировать их, добавив; в начале)

Затем снова перезапустите сервер для Ubuntu

1: Добавьте следующий код в сценарий инициализации:

2: Добавьте следующий флаг в php.ini

Рекомендуется 1-й вариант.

Если вы используете php-fpm , следующего должно быть достаточно:

Обратите внимание, что вам нужно будет настроить это в зависимости от вашей версии php. Например, запустив php 7.0, вы бы сделали:

Поскольку вы используете php-fpm, нет необходимости перезапускать фактический веб-сервер. В любом случае, если вы не используете fpm, вы можете просто перезапустить свой веб-сервер, используя любую из следующих команд:

В Windows (WAMP) в ini-файле CLI:

Apache обработает xdebug , а композитор — нет.

В xubuntu я полностью отключил xdebug для CLI с помощью этого .

Прокомментируйте расширение в php.ini и перезапустите Apache. Вот простой скрипт (вы можете назначить ему ярлык)

Я переименовал файл конфигурации и перезапустил сервер:

Это сработало для меня.

Кроме того, вы можете добавить в свой код xdebug_disable() . Пытаться:

В дистрибутиве Linux Ubuntu (, может быть, еще один — он не тестировался ) с PHP 5 на борту, вы можете использовать:

И с PHP 7

И после этого перезапустите сервер:

Простое решение, работающее в дистрибутивах Linux, похожее на Ubuntu

Для тех, кто заинтересован в отключении его в кодировке, запустите этот скрипт перед запуском тестов:

Я получал эту ошибку:

Которого сейчас нет!

Я создал этот сценарий bash для переключения xdebug. Я думаю, он должен работать как минимум на Ubuntu / Debian. Это для PHP7 +. Для PHP5 используйте php5dismod / php5enmod.

Apache / 2.4.33 (Win64) PHP / 7.2.4 стек myHomeBrew

В конце php.ini я использую следующее для управления Xdebug для использования с PhpStorm

Для WAMP щелкните левой кнопкой мыши значок Wamp на панели задач. Наведите указатель мыши на PHP, затем щелкните php.ini и откройте его в текстовом редакторе.

Теперь найдите фразу «zend_extension» и добавьте; (точка с запятой) перед ним.

Перезагрузите WAMP, и все готово.

Так что да, все, что вам нужно, просто закомментируйте строку в INI-файле, например zend_extension=xdebug.so или подобную.

Комментарии можно делать, добавляя точку с запятой.

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

Я сделал быстрый переключатель для Xdebug. Может быть, было бы кому-то полезно.

Если вы используете MAMP Pro в Mac OS X, это делается через клиент MAMP, сняв флажок Активировать Xdebug на вкладке PHP :

Отключите xdebug только для определенной версии PHP или sapi. В этом случае PHP 7.2 fpm

Переименуйте файл конфигурации и перезапустите apache.

Для повторного включения сделайте обратное.

У меня была следующая проблема: даже если я установил

Было показано Xdebug-Error-Message-Decoration.

Только если я использую этот флаг, Xdebug будет отключен.

Я столкнулся с подобной проблемой. Иногда вы не найдете xdebug.so в php.ini. В этом случае выполните phpinfo() в файле php и проверьте наличие Additional .ini files parsed . Здесь вы увидите больше файлов ini. Одним из них будет ini-файл xdebug. Просто удалите (или переименуйте) этот файл, перезапустите apache, и это расширение будет удалено.

Вдохновленный PHPStorm щелкните правой кнопкой мыши файл -> отладка -> .

Важная вещь -dxdebug.remote_enable=0 -dxdebug.default_enable=0

Ubuntu 16.04 удаляет xdebug из PHP.

Найдите свой файл php.ini и убедитесь, что там есть xdebug:

Это может привести к другим версиям, в таком случае запустите php -v , чтобы найти свою версию.

Источник

Оцените статью