Xdebug坏Zend API版本号

时间:2013-12-06 04:08:02

标签: mamp xdebug

我无法升级xdebug for MAMP。我运行的是2.2.0版,我遇到了一个已知的问题:PhpStorm and Xdebug not breaking in Symfony2 Controller

我尝试按照http://xdebug.org/wizard.php

中的说明升级到2.2.3版

下载并解压缩xdebug tar后,我运行了/Applications/MAMP/bin/php/php5.4.4/bin/phpize

这是输出:

Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

然后我将modules / xdebug.so文件复制到mamp php5.4.4扩展名dir:`/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts- 20100525 / Xdebug的。

如果我运行/Applications/MAMP/bin/php/php5.4.4/bin/php -v,我会收到以下信息:

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.

PHP 5.4.4 (cli) (built: Jul  4 2012 17:28:56)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

我重新启动了MAMP和Apache并尝试加载phpinfo()的页面,但我没有看到列出的Xdebug。如果我将旧的xdebug.so文件移回原位,则会删除错误并phpinfo()将xdebug显示为已启用

2 个答案:

答案 0 :(得分:3)

我设法通过运行

解决了这个问题

/Applications/MAMP/bin/php/php5.4.4/bin/pecl install xdebug起初我看到使用pecl的Zend API编号存在问题。我关注了这篇文章:pecl installs for previous php version并设置以下内容:

sudo /Applications/MAMP/bin/php/php5.4.4/bin/pear config-set php_ini /Applications/MAMP/bin/php/php5.4.4/conf/php.ini
sudo /Applications/MAMP/bin/php/php5.4.4/bin/pecl config-set bin_dir /Applications/MAMP/bin/php/php5.4.4/bin/

不确定这些配置是否与之前失败有关

答案 1 :(得分:0)

我在Mac Pro上设置了MAMP服务器,但无法使xDebug工作。这是在我的日志中:

PHP Warning: PHP Startup: xdebug: Unable to initialize module Module compiled with module API=20160303 PHP compiled with module API=20170718 These options need to match in Unknown on line 0

这可以通过安装最新的xDebug.so来解决。我这样做的问题是正在写入错误的xDebug.so,而不是MAMP服务器:

Build process completed successfully Installing '/usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so' ERROR: failed to write /usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so (copy(/usr/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so): failed to open stream: Operation not permitted)

@Shawn回答的第二行是解决方案:

sudo /Applications/MAMP/bin/php/php7.2.7/bin/pecl config-set bin_dir /Applications/MAMP/bin/php/php7.2.7/bin/

然后,我能够使用pecl install xdebug将最新的xDebug.so构建到正确的目录中。这可能会帮助遇到相同问题的人...