5

我是否通过自制软件安装:

brew install homebrew/php/php70-xdebug

或从位于http://xdebug.org的源代码编译,使用./configure以下代码:

./configure --enable-xdebug CC="gcc -arch i386" CXX="g++ -arch i386"
make

运行与 Acquia DevDesktop 捆绑的 php7 时,我仍然收到以下信息:

Failed loading /Applications/DevDesktop/php7_0/ext/xdebug.so:  dlopen(/Applications/DevDesktop/php7_0/ext/xdebug.so, 9): no suitable image found.  Did find:
    /Applications/DevDesktop/php7_0/ext/xdebug.so: mach-o, but wrong architecture

我已经确认的事情:

  • 我将 xdebug.so 从 /usr/local/Cellar/php70-xdebug/2.4.0 复制到正确的目录中(在自制软件安装的情况下)
  • 或者从 xdebug-2.4.0/module 新编译的一个
  • which php返回 /Applications/DevDesktop/php7_0/bin/php
  • php -i显示正确的 .ini 文件 (/Applications/DevDesktop/php7_0/bin/php.ini) 而没有其他文件
  • opcache.so 已关闭
  • zend_extension="/Applications/DevDesktop/php7_0/ext/xdebug.so"在 php.ini 中

完整的消息php --version返回是:

$ php --version
Failed loading /Applications/DevDesktop/php7_0/ext/xdebug.so:  dlopen(/Applications/DevDesktop/php7_0/ext/xdebug.so, 9): no suitable image found.  Did find:
    /Applications/DevDesktop/php7_0/ext/xdebug.so: mach-o, but wrong architecture
PHP 7.0.4 (cli) (built: Mar 18 2016 02:12:27) ( ZTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

该操作系统是在 MacBook Air 上全新安装的 Mac OS 10.11.5。

有谁知道为什么它抱怨错误的架构?

4

2 回答 2

3

这对我来说适用于 DevDesktop:

  1. 下载并解压 xdebug 源代码(我使用的是 xdebug-2.5.5)。
  2. $ cd xdebug-2.5.5
  3. $ /Applications/DevDesktop/php7_0/bin/phpize

而现在,最令人悲痛的一步弄清楚了……

  1. $ ./configure --with-php-config=/Applications/DevDesktop/php7_0/bin/php-config CC="gcc -arch i386" CXX="g++ -arch i386"
  2. $ make
  3. $ cp modules/xdebug.so /Applications/DevDesktop/php7_0/ext/

  4. 打开php7_0/bin/php.ini文件并(假设它是默认的)替换:

    zend_extension="/Applications/DevDesktop/php5_6/ext/opcache.so"

;zend_extension="/Applications/DevDesktop/php5_6/ext/opcache.so"
[Xdebug]
zend_extension="/Applications/DevDesktop/php7_0/ext/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
  1. 在 DevDesktop 中停止并启动服务器实例并进行调试。
于 2018-01-09T19:40:01.890 回答
0
• Open the php.ini file inside of Applications/DevDesktop/php(version#)/bin/php.ini
• Commented out the  following two lines:
    ○ zend_extension="/Applications/DevDesktop/php7_0/ext/xdebug.so"
    ○ xdebug.remote_enable=1
• Stop and restart DevDesktop

该线程中的评论对我有用。来源:安装 XDebug 并加载到 Acquia Drupal Stack?

于 2017-04-04T15:44:43.687 回答