13

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
4

5 回答 5

10

首先,您使用的是 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 文件中。

PhpStorm 解释器设置

有关为 MAMP 和 PhpStorm 设置解释器的帮助,请参阅此处的文档

帮助提示:检查是否安装了 xdebug 时,请确保--version从 MAMP php 位置在终端中运行该命令。否则,您最终会看到默认情况下没有安装 xdebug 的默认 OSX PHP 信息。

示例:在 PhpStorm 终端中运行它以查看它是否有效/Applications/Mamp/bin/php/php5.4.4/bin/php --version

于 2013-12-14T06:28:56.080 回答
8

MAMP using different php.ini if you run it from terminal, try this code to find the php.ini

php -i | grep php.ini

After that add the code for activate the 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

If this work, please consider accept the answer for the benefit the others.

于 2013-08-15T09:18:05.157 回答
1

这是因为 Mac OS X 默认安装了 php。MAMP PRO 有两个 ini 文件。

PhpStorm 将运行您不添加 xdebug 函数的默认 php。

阅读这篇文章以获得解决方案

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

注意第5步

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

好吧,如果它不起作用,我想你可能对这篇文章没有足够的关注,它确实有帮助并解释了原因,再读一遍吗?

于 2013-08-16T17:45:19.390 回答
0

我有一个类似的问题,它工作然后它没有。

在我的情况下,原因原来是.htaccess项目根目录中未放置的文件。

.htaccess文件(在下面重复)来自之前的一组测试,旨在阻止 XDebug 工作。它确实做到了。

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

我刚刚重命名了文件,就像魔术一样,一切都很好。

于 2015-09-30T18:06:25.843 回答
-1

我有类似的问题。

我做了:

  1. 按照此处的步骤安装 xdebug 。
  2. 找出我的 PHPStorm 使用哪个版本的 PHP。
  3. 在对应的 php.ini 文件中创建了一个新条目/path/to/xdebug/modules/xdebug.so

我能够解决我的问题。xdebug现在正在工作。

于 2014-04-15T12:12:43.693 回答