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

5 ответов


во-первых, вы используете 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 команда в терминале из MAMP php местоположение. В противном случае вы увидите информацию по умолчанию OSX PHP, которая не будет иметь xdebug по умолчанию.

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


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

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


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

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

читать этот пост для решения

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

обратите внимание на Шаг 5

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

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


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

Я:

  1. установлен xdebug, выполнив следующие действия здесь.
  2. выяснил, какую версию PHP использует мой PHPStorm.
  3. создал новую запись в соответствующем php.ini файл /path/to/xdebug/modules/xdebug.so.

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


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

в моем случае причиной оказался промах .htaccess файл в корне проекта.

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

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

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