我无法升级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显示为已启用
答案 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构建到正确的目录中。这可能会帮助遇到相同问题的人...