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
在phpstorm中 phpinfo
:
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
答案 0 :(得分:9)
首先,您使用的是MAMP(免费)还是MAMP Pro?
原来你在MAMP编辑的php.ini文件和PhpStorm在解释器中使用的php.ini文件有区别。
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文件中。
有关为MAMP和PhpStorm设置解释器的帮助,请参阅documentation here
有用的提示:在检查是否安装了xdebug时,请确保在MAMP php位置的终端中运行--version
命令。否则,您最终会看到默认情况下无法安装xdebug的默认OSX PHP信息。
示例:在PhpStorm终端中运行它以查看它是否有效/Applications/Mamp/bin/php/php5.4.4/bin/php --version
答案 1 :(得分:7)
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
如果这项工作,请考虑接受答案,以造福他人。
答案 2 :(得分:1)
这是因为Mac OS X默认安装了php。 MAMP PRO有两个ini文件。
PhpStorm将运行默认的php,你不会在其中添加xdebug函数。
阅读此帖子了解解决方案
http://devnet.jetbrains.com/message/5466653
注意STEP 5
===================================
好吧,如果它不起作用,我认为你可能不会对文章给予足够的重视,它确实有用并解释原因,再读一遍?答案 3 :(得分:0)
我有类似的问题。
我做了:
/path/to/xdebug/modules/xdebug.so
。我能够解决我的问题。 xdebug 现在正在运作。
答案 4 :(得分:0)
我有一个类似的问题,因为它有效,然后没有。
就我而言,原因是项目根目录中遗漏了.htaccess
个文件。
.htaccess
文件(下面重复)来自前一组测试,旨在阻止XDebug工作。确实如此。
php_value xdebug.remote_autostart 0
php_value xdebug.remote_enable 0
php_value xdebug.profiler_enable 0
我刚刚重命名了文件,就像魔术一样,一切都很好。