1

MAC OSX 10.7.5 -- MAMP 2.1.3 -- XDEBUG 2.2.3
使用xdebug 向导下载并使用终端安装。在按照步骤重新启动 MAMP 但没有 xdebug 之后, 我认为向导说你必须做的所有事情都粘贴在 php.ini 文件的末尾很奇怪phpinfo();
zend_extension = /Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so

  • 我确实在路径名周围添加了引号 - 来自向导的路径名没有它们
  • 其他每个教程都说需要添加的不仅仅是这一行
  • MAMP 似乎有自己的 'zend_extension = "/Applications/MAMP/bin/php/php5.4.10/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"' 需要被注释掉. 无论如何,我尝试了从向导粘贴以及取消注释。

由于我正在尝试在我的 PHPstorm 试用版中使用 xdebug,因此我检查了在http://www.dotvoid.com/2012/09/using-xdebug-in-mamp/
上为您设置的步骤, 这很奇怪:这里说你需要做的就是添加这两行

xdebug.remote_host=127.0.0.1  

xdebug.remote_enable = 1

这很奇怪,因为其他教程让您添加更多关于 localhost 的行(当我试图在旧版本的 MAMP 上获取 xdebug 以与 netbeans 一起使用但没有成功时)。这是我的 php.ini 文件中的内容:

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

我还检查了我是否配置了正确的 php.ini 文件,查看 phpinfo(); 它说明加载了哪个 php.ini 文件。在这种情况下/Applications/MAMP/bin/php/php5.4.10/conf/php.ini,我验证了这是否是我正在编辑的正确 php.ini 文件,它是。

这个 SO 问题的最后一个回答者谈到了两个需要相同二进制文件的特定文件,可能一个文件是 32 位二进制文​​件,另一个文件是 64 位文件。当我尝试检查时,该问题 ( /path/to/mamp/Library/modules/php5.3/libphp5.so) 中提到的文件不在我当前安装的 MAMP 中。在我当前的安装中,我可以转到Applications/MAMP/Library/modules,但该文件夹中没有文件modules夹,只留下一个说php任何类型的文件夹。

本教程中,提到了更新 PEARL。这可能与我的问题无关,但我只是跟着它,因为我真的不知道,我认为它不会受到伤害。当我尝试在终端中执行此操作时,错误消息显示

Xdebug requires Zend Engine API version 220090626. The Zend Engine API version 220100525 which is installed, is newer. Contact Derick Rethans at http://xdebug.org/docs/faq#api for a later version of Xdebug.

我在 xdebug FAQ 中发现了这个问题。我引用

这很可能是因为您针对属于您正在运行的不同 PHP 版本的 PHP 头文件编译了 Xdebug

进一步的解释证实有关 zend api 版本的消息指向同一个问题,并且两个版本的 PHP 以某种方式发生冲突。

解决方案在它所说的同一个常见问题页面上进行了解释

问:如何找到要使用的 phpize?[...]如果不匹配,并且可能在路径上找到错误的“phpize”二进制文件,您可以按如下方式运行配置:
1. /full/path/to/php/bin/phpize
2. ./configure --with-php-config=/full/path/to/php/bin/php-config

我不知道如何在实践中解释这一点。但这是我尝试过的

  • 我还在,/usr/bin并尝试了第一个命令usr/bin/phize。这返回Cannot find config.m4. Make sure that you run '/usr/bin/phpize' in the top level source directory of the module 了我不知道模块的顶级源目录是什么意思。也许 1. 和 2. 是 1 个命令?该模块意味着xdebug.so?

不过,无论我尝试什么,Cannot find config.m4只要我尝试运行 phpize,我都会不断收到错误消息。/usr/bin/phpize我尝试从或从运行 phpize /Applications/MAMP/bin/php/php5.4.10/bin/phpize。同样的错误来了

4

0 回答 0