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
Я просто переименовал файл и, как магия, все было хорошо.