как удалить xdebug linux
Как отключить XDebug
Я думаю, что мой сервер стал медленным, так как я установил XDebug. Итак, чтобы проверить мою гипотезу, я хочу полностью отключить XDebug. Я искал уроки о том, как это сделать, но я не могу найти такую информацию.
20 ответов
найти php.ini и искать XDebug.
установите автозапуск xdebug в false
обратите внимание, что может быть потеря производительности даже при отключенном xdebug, но загруженном. Чтобы отключить загрузку самого расширения, вам нужно прокомментировать его в своем php.ini. Найдите запись, которая выглядит так:
простое решение, работающее на дистрибутивах Linux, подобных Ubuntu
и PHP 7
и после этого, пожалуйста, перезагрузите сервер:
кроме того, вы можете добавить xdebug_disable() в ваш код. Попробуйте:
расширение комментариев в php.ini и перезапустить Apache. Вот простой скрипт (вы можете назначить ему ярлык)
отладчик xdebug-тумблер.в PHP
я переименовал файл config и перезапустить сервер:
это сработало для меня.
В Windows (WAMP) в файле CLI ini:
в xubuntu я полностью отключил xdebug для CLI с этим.
1: добавьте следующий код в скрипт инициализации:
2: Добавьте следующий флаг в php.ini
найдите свой PHP.ini и ищите XDebug.
обычно в Ubuntu его путь
внесите следующие изменения (лучше просто прокомментировать их, добавив ; в начале )
затем перезапустите сервер опять же для Ubuntu
у меня была следующая проблема: Даже если я установлю
Xdebug-ошибка-Сообщение-украшение было показано.
только если я использую этот флаг, 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
затем прокомментируйте все и сохраните.
согласно комментарию @igoemon, это лучший метод:
Примечание: обновите путь к вашей версии PHP.
Ubuntu 16.04 удалить xdebug из PHP.
найдите свой php.ini-файл и убедитесь, что xdebug есть:
редактировать php.файл ini, например:
комментарий строка:
сохраните файл
Если вы используете MAMP Pro на Mac OS X, это делается через клиент MAMP, сняв флажок Активировать Xdebug под PHP tab:
Итак, да, все, что вам нужно, просто прокомментируйте строку в INI-файле, как zend_extension=xdebug.so или аналогичные.
комментарии можно сделать, добавив точку с запятой.
но такой ответ уже добавлен, и я хотел бы поделиться готовым решением для переключения статуса Xdebug.
Я сделал быстрый переключатель для Xdebug. Может быть, это кому-то пригодится.
для WAMP щелкните левой кнопкой мыши значок Wamp в панели задач. Наведите курсор на PHP, а затем нажмите на php.ini и откройте его в своем texteditor.
теперь найдите фразу «zend_extension» и добавьте ; (точка с запятой) перед ней.
перезагрузите WAMP, и вы хорошо идти.
если вы используете php-fpm должно быть достаточно следующего:
обратите внимание, что вам нужно изменить в зависимости от вашей версии PHP. Например, при запуске php 7.0 вы бы сделали:
поскольку вы используете php-fpm, нет необходимости перезапускать фактический веб-сервер. В любом случае, если вы не используете fpm, вы можете просто перезапустить свой веб-сервер, используя любую из приведенных ниже команд:
Apache/2.4.33 (Win64) PHP / 7.2.4 myhomebrew stack
Как отключить отладчик xdebug
Я думаю, что мой сервер стал медленным, так как я установил XDebug. Итак, чтобы проверить мою гипотезу, я хочу полностью отключить XDebug. Я искал уроки о том, как это сделать, но я не могу найти такую информацию.
20 ответов:
установите автозапуск xdebug в false
обратите внимание, что там может быть потеря производительности даже при отключенном xdebug, но загруженном. Чтобы отключить загрузку самого расширения, вам нужно прокомментировать его в своем php.Ини. Найдите запись, которая выглядит так:
простое решение, работающее на дистрибутивах Linux, подобных Ubuntu
и PHP 7
и после этого, пожалуйста, перезагрузите сервер:
кроме того, вы можете добавить xdebug_disable() в ваш код. Попробуйте:
расширение комментария в php.ini и перезапустить Apache. Вот простой скрипт (вы можете назначить ему ярлык)
я переименовал файл config и перезапустить сервер:
это действительно сработало для меня.
на Windows (WAMP) в файле CLI ini:
в xubuntu я полностью отключил xdebug для CLI с этим.
1: добавьте следующий код в скрипт инициализации:
2: Добавьте следующий флаг в php.ini
найдите свой PHP.ini и искать XDebug.
обычно в Ubuntu его путь
внесите следующие изменения (лучше просто прокомментировать их, добавив ; в начале )
затем перезагрузите ваш сервер опять же для Ubuntu
у меня была следующая проблема: Даже если я установил
Xdebug-сообщение об ошибке-украшение было показано.
только если я использую этот флаг, Xdebug был отключен.
переименуйте конфигурационный файл и перезапустите apache.
сделайте обратное, чтобы снова включить.
для 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
затем закомментируйте все и сохраните.
согласно комментарию @igoemon, это лучший метод:
Примечание: обновите путь к вашей версии PHP.
Ubuntu 16.04 удалить xdebug из PHP.
найдите свой php.ini-файл и убедитесь, что xdebug есть:
редактировать php.файл ini, например:
комментарий строка:
сохраните файл
Если вы используете MAMP Pro на Mac OS X, это делается через клиент MAMP, сняв флажок Активировать Xdebug под PHP tab:
Итак, да, все, что вам нужно, просто прокомментируйте строку в INI-файле, например zend_extension=xdebug.so или аналогичные.
комментарии можно сделать, добавив точку с запятой.
но, такой ответ уже добавлен, и я хотел бы поделиться готовым решением для переключения статуса Xdebug.
Я сделал быстрый переключатель для Xdebug. Может быть, было бы полезно для кого-то.
для WAMP щелкните левой кнопкой мыши на значке Wamp в панели задач. Наведите курсор на PHP, а затем нажмите на php.ini и откройте его в своем текстовом редакторе.
теперь найдите фразу ‘zend_extension’ и добавьте ; (точка с запятой) перед ней.
перезагрузите WAMP, и вы хорошо идти.
если вы используете php-fpm должно быть достаточно следующего:
обратите внимание, что вам нужно изменить в зависимости от вашей версии PHP. Например, запустив php 7.0 вы бы сделали:
поскольку вы используете php-fpm, не должно быть необходимости перезапускать фактический веб-сервер. В любом случае, если вы не используете fpm, вы можете просто перезапустить свой веб-сервер, используя любую из следующих команд:
Apache / 2.4.33 (Win64) PHP/7.2.4 myhomebrew stack
В конце php.Ини я использую следующие действия, чтобы управлять отладчик xdebug для работы с PhpStorm именно
How to disable XDebug
I think that my server became slow since I installed XDebug. So, in order to test my hypothesis I want to disable XDebug completely. I’ve been searching for tutorials on how to do this but I can’t find such information.
25 Answers 25
Find your php.ini and look for XDebug.
Set xdebug autostart to false
Disable your profiler
Note that there can be a performance loss even with xdebug disabled but loaded. To disable loading of the extension itself, you need to comment it in your php.ini. Find an entry looking like this:
An easy solution working on Linux distributions similar to Ubuntu
And with PHP 7
And after that, please restart the server:
Also, you can add xdebug_disable() to your code. Try:
I renamed the config file and restarted server:
It did work for me.
Comment extension in php.ini and restart Apache. Here is a simple script (you can assign shortcut to it)
in xubuntu I totally disabled xdebug for the CLI with this.
On Windows (WAMP) in CLI ini file:
If you are using php-fpm the following should be sufficient:
Notice, that you will need to tweak this depending on your php version. For instance running php 7.0 you would do:
Since, you are running php-fpm there should be no need to restart the actual webserver. In any case if you don’t use fpm then you could simply restart your webserver using any of the below commands:
1: Add following code in the initialization Script:
2: Add following flag to php.ini
1st option is recommended.
Find your PHP.ini and look for XDebug.
normally in Ubuntu its path is
Make following changes (Better to just comment them by adding ; at the beginning )
then restart your server again for Ubuntu
Disable xdebug
For PHP 7: sudo nano /etc/php/7.0/cli/conf.d/20-xdebug.ini
For PHP 5: sudo nano /etc/php5/cli/conf.d/20-xdebug.ini
Then comment out everything and save.
As per @igoemon’s comment, this is a better method:
Note: Update the path to your version of PHP.
Как отключить XDebug
Я думаю, что мой сервер стал медленным, так как я установил XDebug. Итак, чтобы проверить мою гипотезу, я хочу полностью отключить XDebug. Я искал учебники о том, как это сделать, но я не могу найти такую информацию.
Найдите свой php.ini и найдите XDebug.
Установите xdebug autostart в значение false
Отключить свой профилировщик
и положил a ; чтобы прокомментировать это, например ;zend_extension = …
В Linux Ubuntu ( возможно, еще один – это не проверенный ) дистрибутив с PHP 5 на борту, вы можете использовать:
И с PHP 7
После этого перезагрузите сервер:
Кроме того, вы можете добавить xdebug_disable() в свой код. Пытаться:
Расширение комментариев в php.ini и перезапуск Apache. Вот простой скрипт (вы можете назначить ему ярлык)
Я переименовал файл конфигурации и перезапустил сервер:
Это работало для меня.
В Windows (WAMP) в файле INI CLI:
в xubuntu я полностью отключил xdebug для CLI с этим …
1: Добавьте следующий код в скрипт инициализации:
2: Добавьте следующий флаг в php.ini
Рекомендуется 1 вариант.
Найдите свой PHP.ini и найдите XDebug.
обычно в Ubuntu его путь
Внесите следующие изменения (лучше просто прокомментировать их, добавив в начале)
затем снова перезапустите сервер для Ubuntu
У меня возникла проблема: даже если я установил
Было показано 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:
Узнать и полюбить Xdebug
Как мне использовать его?
Xdebug поставляется с подробной инструкцией по установке в которой учтены практически все возможные варианты использования, хотя, если вы хотите поэкспериментировать с представленным ниже функционалом, мы рекомендуем использовать Homestead Improved так как там Xdebug установлен и активирован по умолчанию.
Зачем вообще нужен Xdebug когда есть современные IDE и Blackfire?
Современные IDE предоставляют широкие возможности поиска по коду, так что полезность функционала форматирования ссылок кажется сомнительной. Существуют всевозможные системы логирования способные обрабатывать ошибки и исключения. Также, трассировка и профилирование функций прекрасно реализованы в Blackfire. Не смотря на все это, форматирование ссылок на файлы лишь одна из функций Xdebug, а использование Blackfire связано с собственными трудностями — установка расширения, настройка горячих клавиш, и оплата сохранения истории трассировок. А использование логгеров требует внимательности, так как добавить их в приложение на поздних этапах не самая простая задача.
Но область использования Xdebug не ограничивается лишь этим. Он всё ещё необходим для правильного модульного тестирования (тестируемые фреймворки зависимы от его отчетов о покрытии кода), далеко не так легко провести отладку через удаленные брейк-пойнты другими средствами, а этот инструмент настолько старый и стабильный, что был отшлифован почти до идеала.
Конечно, нет никакой необходимости использовать Xdebug, если ваш текущий инструментарий может обеспечить всё что он предоставляет, или если вам не нужны его возможности, однако у меня не было еще ни одного проекта который можно было бы завершить так же эффективно без его использования.
Давайте попробуем
Предполагается что на этом этапе у вас уже есть среда с работающим Xdebug. Если нет, попробуйте воспользоваться Homestead Improved.
Вот что мы получим:
Отключение Xdebug
Блоки уведомлений подобные этому настолько привычное явление в наше время, что большинство людей даже не понимает что они уже стилизованы с помощью Xdebug. Чтобы доказать это давайте посмотрим как бы это сообщение выглядело без Xdebug. Для отключения Xdebug отредактируем файл /etc/php/7.1/fpm/conf.d/20-xdebug.ini в Homestead Improved, и закомментируем первую строку:
После чего нужно перезапустить PHP-FRM:
Примечание: если вы используете среду разработки с другой версией PHP, файл настроек вашего Xdebug скорее всего будет в другом месте. Сверьтесь с документацией системы чтобы найти его или задайте вопрос в комментариях.
Выглядит довольно скудно, не так ли? Из вывода пропал весь стек вызовов. Конечно, пока эта информация не слишком полезна, так как мы работаем только с одной строкой в единственном файле, но позже мы будем использовать ее довольно часто.
Теперь вновь активируем Xdebug, раскомментировав строку в отредактированном ранее файле, и продолжим. Не забудьте перезапустить PHP!
Переходы по файлам
Если у вас есть любимая IDE (у меня, например, PhpStorm), возможность переходить к файлам в ней простым кликом в трассировке стека была бы определенно полезной и значительно увеличила бы скорость отладки. Я продемонстрирую как реализовать эту возможность для PhpStorm.
Давайте снова откроем файл 20-xdebug.ini и добавим в него следующее:
Заметьте, что не во всех браузерах это будет работать. Например, у Opera возникнут проблемы со ссылкой phpstorm:// и она радостно упадет, в то время как Firefox и Chrome прекрасно обрабатывают такие ссылки.
Если теперь обновить нашу PHP страницу с ошибкой, мы получим ссылки открывающие IDE сразу в точном местоположении ошибки:
Настройка для работы с другими IDE и редакторами происходит точно так же.
Xdebug, Vagrant и PhpStorm
Зачем останавливаться на этом? Многие сегодня используют для разработки виртуальные машины, позволяющие быть уверенным в том что никакая часть из среды исполнения PHP не затронет основную машину, при этом сохраняя всё быстрым и гладким. Как ведет себя Xdebug в таких случаях? Кроме того, возможно ли, в принципе, выполнять отладку с брейк-поинтами, когда вы проходите по своему коду и проверяете каждую строку отдельно?
К счастью, Xdebug отлично поддерживает использование брейк-пойнтов при удаленном соединении. Мы рассмотрели этот процесс выше, а полностью иллюстрированное руководство по настройке вы можете найти в этой статье.
Использование профайлера.
В конце давайте рассмотрим одну из часто игнорируемых функций: профайлер. Для этого нам понадобится какое-нибудь крупное приложение, например Laravel:
И снова нам нужно внести правки в файл 20-xdebug.ini, добавив следующее:
Заметьте — мы не используем xdebug.profiler_enable = 1, так как не хотим чтобы он оставался включенным всё время. Вместо этого мы используем триггерный параметр в запросе “XDEBUG_PROFILE” для выборочной активации. Также мы выводим профиль кэша в основную общую папку нашей виртуальной машины, получая возможность работать с ним в операционной системе хоста.
После перезапуска PHP мы можем проверить это выполнив homestead.app/?XDEBUG_PROFILE (замените homestead.app на имя выбранного вами виртуального хоста или IP-адрес виртуальной машины). Конечно же, файл там где и ожидалось:
В каждой операционной системе есть собственный инспектор кэширования, для OS X, например, можно использовать qcachegring, который легко устанавливается через Homebrew. После установки…
… и открытия файла, мы видим удобное разбиение потока выполнения:
Профайлер предоставляет детализированный доступ ко многим данным и возможность досконально изучить поведение вашего кода, также как и в Blackfire. Однако с локальным выводом профайлера намного легче автоматизировать непрерывное отслеживание производительности и сложности выполнения.
Принудительное отображение Xdebug в Laravel
По умолчанию, Laravel имеет собственные отчеты об ошибках и настройки рендеринга. Ошибка, вроде той что мы вызвали ранее с неопределенной переменной, в Laravel будет выглядеть так:
Хотя экран ошибок Symfony (который Laravel использует в этом случае) способен так же хорошо работать с переходами Xdebug (попробуйте! Вы можете кликнуть по этим файлам и их строкам!), мне очень не хватает вывода информации о памяти (Xdebug по умолчанию выводит отчет об использовании памяти в каждый момент времени в трассировке). Давайте вернемся к экрану Xdebug в режиме разработки, чтобы отследить этот параметр.
Как видите мы обновили наш роутинг по умолчанию таким образом, чтобы сначала он активировал отображение ошибок (экран который мы видели ранее не показывает ошибки сразу при появлении, а сохраняет в стек исключений который был позже извлечен и визуализирован), затем мы возвращаем обработчик ошибок в его значение по умолчанию переопределяя значение Laravel.
После обновления, конечно же, вернулся наш старый экран — просто взгляните на эту простыню трассировки стэка и потребления памяти.
Я советую вам продолжить дальнейшее изучение самостоятельно — просмотрите документацию, поиграйте с настройками, выясните сколько всего вы можете узнать о ваших приложениях.
Заключение
Xdebug — ценный инструмент в наборе любого разработчика. Это мощное расширение полностью соответствует своему названию, делая язык, с которым мы ежедневно работаем, более подробным, дружелюбным и менее загадочным при возникновении ошибок.
За 15 лет своего существования Xdebug установил высокие стандарты для отладочных средств. Я хотел бы поблагодарить Дерика за разработку и поддержку всё это время, и буду рад если вы решите написать одно-два руководства об углубленном использовании, подводных камнях или скрытых комбинациях функций о которых никто не задумывался прежде. Давайте поможем его распространению и развитию и в следующие 15 лет.