Phpstorm не видит xdebug, но он установлен

PhpStorm не может видеть xdebug, но он установлен. В моем браузере xdebug работает отлично. Где проблема?

Ошибка:

Соединение с 'xdebug' не установлено. Проверить установку.

php.ini

[xdebug]
xdebug.idekey=PHPSTORM
zend_extension="/Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.default_enable=1
xdebug.coverage_enable=1
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "/tmp"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1

phpinfo в phpstorm:

Версия PHP: 5.4.10

Loaded extensions:  bcmath, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, json, ldap, libxml, mbstring, mcrypt, mysql, mysqli, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, tokenizer, XCache, xml, xmlreader, xmlwriter, xsl, yaz, zip, zlib

Ответ 1

Во-первых, используете ли вы MAMP (бесплатно) или MAMP Pro?

Оказывается, существует разница между файлом php.ini, который вы редактируете в MAMP, и файлом php.ini, который PhpStorm использует в интерпретаторе.

Файл MAMP Pro php.ini находится в /Library/Application Support/appsolute/MAMP PRO/conf/php.ini и не имеет установки PHP (которой требуется PhpStorm при настройке интерпретатора). Если вы запустите phpinfo(); это файл, из которого вы увидите данные.

Когда вы устанавливаете PhpStorm в нужное место здесь /Applications/MAMP/bin/php/php5.4.x/bin, он смотрит там файл php.ini, а не тот, который использует MAMP Pro (см. выше). Поэтому, если вы хотите, чтобы PhpStorm увидел отладчик, вам нужно добавить код в этот файл php.ini.

PhpStorm Interpreter Settings

Для получения справки о настройке интерпретатора для MAMP и PhpStorm см. документацию

ПОМОЩЬ СОВЕТУ:. Проверяя, установлен ли xdebug, обязательно запустите команду --version в терминале из местоположения php MAMP. В противном случае вы получите информацию о OSX PHP по умолчанию, которая по умолчанию не будет установлена ​​xdebug.

Пример: запустите это на терминале PhpStorm, чтобы увидеть, работает ли он /Applications/Mamp/bin/php/php5.4.4/bin/php --version

Ответ 2

MAMP с использованием другого php.ini, если вы запустите его с терминала, попробуйте этот код, чтобы найти php.ini

php -i | grep php.ini

После этого добавьте код для активации xDebug

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=true
xdebug.remote_port=9000
xdebug.profiler_enable=1
xdebug.remote_host=localhost
xdebug.profiler_output_dir="/Applications/MAMP/tmp/xdebug"
xdebug.max_nesting_level=1000

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

Ответ 3

Это связано с тем, что по умолчанию у Mac OS X установлен php. Для MAMP PRO есть два файла ini.

PhpStorm будет запускать PHP по умолчанию, который вы не добавляете к нему функцией xdebug.

Прочитайте это сообщение для решения

http://devnet.jetbrains.com/message/5466653

Обратите внимание на STEP 5

===================================

ладно, если это не сработает, я думал, что вы не можете уделять достаточное внимание этой статье, он помогает и объясняет причину, читайте снова?

Ответ 4

У меня была аналогичная проблема.

Я сделал:

  • Установлен xdebug, выполнив шаги здесь.
  • Выяснил, какая версия PHP использует мой PHPStorm.
  • Создал новую запись в соответствующем файле php.ini /path/to/xdebug/modules/xdebug.so.

и я смог решить мою проблему. xdebug работает сейчас.

Ответ 5

У меня была аналогичная проблема, так как она работала тогда, и не делала этого.

В моем случае причина оказалась пропущенным файлом .htaccess в корне проекта.

Файл .htaccess (повторенный ниже) был из предыдущего набора тестов и был предназначен для прекращения работы XDebug. Это было точно.

php_value xdebug.remote_autostart 0
php_value xdebug.remote_enable 0
php_value xdebug.profiler_enable 0

Я просто переименовал файл и, как магия, все было хорошо.