2017-01-15 4 views
1

ОбновленоКак включить Xdebug в PhpStorm

Я пытаюсь настроить XDebug в PhpStorm. Я запустил phpinfo(), и я увидел эту версию xdebug, ключ IDE и включен.

Loaded Configuration File : /etc/php/7.0/cli/php.ini 

Однако в файле php.ini, нет [xdebug] раздела Но я нашел 20-xdebug.ini файл в папке /etc/php/7.0/cli/conf.d. (Я предполагаю, что это один я должен изменить для настройки)

Он содержит только одну строку: zend_extension=xdebug.so Там нет номер порта, включить/disable.What является следующим шагом в настройке XDebug?

ответ

2

Обычно файлы конфигурации для всех расширений размещаются в каталоге с именем conf.d.

Также посмотрите строки, содержащие «Дополнительные файлы .ini» или «Сканировать этот каталог для дополнительных файлов .ini». Вы можете увидеть ниже, как это выглядит для моей среды (душевные php -i выхода):

Configuration File (php.ini) Path => /usr/local/etc/php 
Loaded Configuration File => /usr/local/etc/php/php.ini 
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d 
Additional .ini files parsed => 
    /usr/local/etc/php/conf.d/docker-php-ext-gd.ini, 
    /usr/local/etc/php/conf.d/docker-php-ext-intl.ini, 
    /usr/local/etc/php/conf.d/docker-php-ext-mcrypt.ini, 
    /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini, 
    /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini, 
    /usr/local/etc/php/conf.d/docker-php-ext-zip.ini, 
+0

Привет, да, это было в каталоге 'conf.d'. Однако он содержит только одну строку 'zend_extension = xdebug.so ' Нет номера порта. Как включить xdebug –

+0

@MadhukaHarith, просто добавьте то, что вам нужно после строки, содержащей 'zend_extension = xdebug.so'. –

1

Clue 1. Убедитесь, что вы не имеете две версии PHP, работающую в системе. Иногда это происходит, если вы устанавливаете новый PHP с диспетчером пакетов поверх существующего, поставляемого с ОС.

Clue 2. Перезагрузка "варят услуги перезагружать php56" или apache2 (apachectl старт/стоп)

Шаги я пройти, чтобы установить XDebug:

А. Установка XDebug с менеджером пакетов brew install homebrew/php/php56-xdebug

B. Проверьте список загруженных INI-файлов с php --ini

выход

консоли:

Configuration File (php.ini) Path: /usr/local/etc/php/5.6 
Loaded Configuration File:   /usr/local/etc/php/5.6/php.ini 
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d 
Additional .ini files parsed:  /usr/local/etc/php/5.6/conf.d/ext-gmagick.ini, 
/usr/local/etc/php/5.6/conf.d/ext-igbinary.ini, 
/usr/local/etc/php/5.6/conf.d/ext-imagick.ini, 
/usr/local/etc/php/5.6/conf.d/ext-intl.ini, 
/usr/local/etc/php/5.6/conf.d/ext-ioncubeloader.ini, 
/usr/local/etc/php/5.6/conf.d/ext-mailparse.ini, 
/usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini, 
/usr/local/etc/php/5.6/conf.d/ext-mongo.ini, 
/usr/local/etc/php/5.6/conf.d/ext-oauth.ini, 
/usr/local/etc/php/5.6/conf.d/ext-opcache.ini, 
/usr/local/etc/php/5.6/conf.d/ext-tidy.ini, 
/usr/local/etc/php/5.6/conf.d/ext-uploadprogress.ini, 
/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini 

C.php -m | grep xdebug - Если у вас установлен Xdebug модули, вы увидите "XDebug" на выходе.

D. проверить строку "zend_extension =", указывающую на xdebug.so. Должно быть уже там, если вы устанавливаете с диспетчером пакетов.

E. Проверьте настройки настраивают для Xdebug, мой являются:

[Xdebug] zend_extension = "/ USR/местные/опт/php56-Xdebug/xdebug.so"

xdebug.remote_port=9089 // <-- same in IDE 
xdebug.default_enable=1 
xdebug.remote_connect_back=1 
xdebug.remote_handler=dbgp 
xdebug.remote_enable=1 
xdebug.remote_autostart=1 
xdebug.remote_handler=dbgp 
xdebug.idekey=PHPSTORM 
xdebug.var_display_max_depth = -1 
xdebug.var_display_max_children = -1 
xdebug.var_display_max_data = -1 
xdebug.max_nesting_level = 1000 

F. в PhpStorm установить номер порта и выберите может принимать внешние соединения: «X»

Надежда это Хель пс.(Я использую mac, но то же самое для Linux или Win)

+0

Привет Я нашел файл xdebug.ini, но он содержит только это: 'zend_extension = xdebug.so ' Должен ли я вручную вводить номер порта и другие данные, чтобы включить xdebug? –

+0

A. Как php был установлен в вашей системе? B. Какие ОС вы используете? C. Это тот же файл xdebug.ini из вывода «php -ini»? Да, они вам нужны, обычно порт 9000. У меня была проблема с 9000, поэтому я настроил порт на моей стороне. связанных: http://stackoverflow.com/questions/8049776/xdebug-for-remote-server-not-connecting, https://xdebug.org/docs/remote – ivanproskuryakov

+0

'PHP 7.0.8-0ubuntu0.16.04.3 (cli) (NTS) 1997-2016 Группа PHP Zend Engine v3.0.0, 1998-2016 Zend Technologies с Zend OPcache v7.0.8-0ubuntu0.16.04.3, 1999-2016, Zend Technologies с Xdebug v2. 4.0, 2002-2016, по Derick Rethans 'c) Да –