воскресенье, 4 сентября 2016 г.

Отключение xDebug для Composer на OpenServer

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

You are running composer with xdebug enabled. This has a major impact on runtime performance.

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

Рассмотрим, как это сделать, если вы используете OpenServer.

Вот мой рецепт, как навсегда отключить xDebug при запуске композера.

1. Ищем файл "php.ini".

Путь к файлу "C:\path\to\OpenServer\modules\php\PHP-x.x\php.ini".

Вместо "x.x" - используемая вами версия PHP, "C:\path\to\" - директория установки OpenServer на вашей машине.

2. Создаём его копию в этой же папке, "php-no-xdebug.ini".

3. Открываем на редактирование файл "php-no-xdebug.ini", ищем строку:

zend_extension="c:\path\to\OpenServer\modules\php\PHP-x.x\ext\php_xdebug.dll"

Закомментируем её. Ставим точку с запятой, строка примет вид:

;zend_extension="c:\path\to\OpenServer\modules\php\PHP-x.x\ext\php_xdebug.dll"

Сохраняем файл.

4. Теперь меняем скрипт, запускающий сам композер.

Ищем файл "C:\path\to\OpenServer\modules\php\PHP-x.x\composer.bat".

Открываем его на редактирование, видим:

@"%PHP_BIN%" -d output_buffering=0 "%PHP_DIR%composer.phar" %* 

5. Меняем на следующую строку:

@"%PHP_BIN%" -c "%PHP_DIR%\php-no-xdebug.ini" -d output_buffering=0 "%PHP_DIR%composer.phar" %*

Сохраняем изменения.

Всё, теперь композер больше не ругается, а "глобально" xDebug остался включенным.

Убедитесь в этом, открыв страничку "Информация PHP" в меню OpenServer.

Комментариев нет:

Отправить комментарий