Как отключить XDebug - PullRequest
       65

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

109 голосов
/ 06 января 2012

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

Ответы [ 21 ]

138 голосов
/ 06 января 2012

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

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

xdebug.remote_autostart=0  
xdebug.remote_enable=0

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

xdebug.profiler_enable=0

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

zend_extension = "/path/to/php_xdebug.dll"

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

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

91 голосов
/ 13 апреля 2015

Простое решение для работы с дистрибутивами Linux, похожее на Ubuntu

sudo php5dismod xdebug
sudo service apache2 restart
32 голосов
/ 16 августа 2016

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

sudo php5dismod xdebug

И с PHP 7

sudo phpdismod xdebug

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

sudo service apache2 restart
23 голосов
/ 08 января 2013

Также вы можете добавить xdebug_disable() к вашему коду. Попробуйте:

if(function_exists('xdebug_disable')) { xdebug_disable(); }

11 голосов
/ 04 марта 2016

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

$ mv /etc/php/7.0/fpm/conf.d/20-xdebug.ini /etc/php/7.0/fpm/conf.d/20-xdebug.i

$ sudo service php7.0-fpm restart && sudo service nginx restart

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

10 голосов
/ 13 июня 2013

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

xdebug-toggle.php

define('PATH_TO_PHP_INI', 'c:/xampp/php/php.ini');
define('PATH_TO_HTTPD', 'c:/xampp/apache/bin/httpd.exe');
define('REXP_EXTENSION', '(zend_extension\s*=.*?php_xdebug)');

$s = file_get_contents(PATH_TO_PHP_INI);
$replaced = preg_replace('/;' . REXP_EXTENSION . '/', '$1', $s);
$isOn = $replaced != $s;
if (!$isOn) {
    $replaced = preg_replace('/' . REXP_EXTENSION . '/', ';$1', $s);
}
echo 'xdebug is ' . ($isOn ? 'ON' : 'OFF') . " now. Restarting apache...\n\n";
file_put_contents(PATH_TO_PHP_INI, $replaced);

passthru(PATH_TO_HTTPD . ' -k restart');
9 голосов
/ 08 мая 2014

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

sudo rm /etc/php5/cli/conf.d/*xdebug*
7 голосов
/ 08 июня 2015

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

X:\wamp\bin\php\php5.x.xx\php.ini

строка комментария

; XDEBUG Extension

;zend_extension = "X:/wamp/bin/php/php5.x.xx/zend_ext/php_xdebug-xxxxxx.dll"

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

4 голосов
/ 26 мая 2016

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

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

/etc/php5/apache2/php.ini  

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

xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.profiler_enable=0

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

sudo service apache2 restart
4 голосов
/ 06 февраля 2014

Два варианта:

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

 if (function_exists('xdebug_disable')) {
           xdebug_disable();
         }

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

 xdebug.remote_autostart=0
 xdebug.remote_enable=0

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

...