在本地AMP环境中安装xdebug.so扩展时出现问题

时间:2015-10-16 15:28:22

标签: php macos homebrew xdebug

编辑:我现在已经删除了xdebug.so版本,我手动安装,并通过Homebrew安装了XDebug。当我输入" php -i"在命令行,xdebug似乎已安装;但是当我运行phpinfo()时,仍然没有XDebug的迹象。

我刚买了一台新Mac,就像我每次购买一台新Mac一样,我已经重建了我的本地网站开发环境(这次,按照一个惊人的教程:https://echo.co/blog/os-x-1010-yosemite-local-development-environment-apache-php-and-mysql-homebrew

在我安装XDebug扩展程序之前,一切都进展顺利。我使用Komodo作为开发环境,因为我过去总是这样做,我按照这里的说明进行操作:http://docs.activestate.com/komodo/7.1/debugphp.html#debugphp_top

我按照说明书写了这封信,但是我不能让xdebug.so出现在我的phpinfo.php()页面中。这就是我的所作所为:

  1. 创建了一个phpinfo.php文件,以便找到正确的php.ini文件
  2. 检查了phpinfo.php文件,发现"加载配置文件"是" /usr/local/etc/php/5.6/php.ini"
  3. 编辑了php.ini,将以下行添加到文件的底部:
  4. _

    zend_extension=/usr/local/Cellar/php56/5.6.14/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.idekey=<idekey>
    ; You may also want this - to always start a remote debugging     connection.
    ;xdebug.remote_autostart=1
    
    1. Ran&#34; brew服务重启httpd22&#34; (而且,只是为了确定,&#34; sudo apachectl restart&#34;)
    2. 当我重新加载phpinfo.php时,它包含引用xdebug.so。

      我可以确认xdebug.so出现在/usr/local/Cellar/php56/5.6.14/lib/php/extensions/no-debug-non-zts-20131226,而/usr/local/Cellar/php56/5.6.14/lib/php/extensions/no-debug-non-zts-20131226被设置为&#34; extension_dir&#34;在php.ini。

      我缺少什么?!

1 个答案:

答案 0 :(得分:2)

最终证明这是因为我以错误的顺序做事。我使用Homebrew来安装Apache和PHP,但我安装了Apache 2nd:这意味着它没有设置为使用我安装的PHP版本。

我使用命令brew reinstall php54 --homebrew-apxs重新安装了PHP,这确保了Apache和PHP相互通信。

然后,为了安装xdebug,我运行了brew install homebrew/php/php56-xdebug。重新启动Apache后,XDebug立即出现在phpinfo()中!

然后我不得不让XDebug与Komodo交谈。为此,我在原始帖子的配置行中添加了在Homebrew安装期间创建的特定xdebug配置文件(我的位于/usr/local/etc/php/5.6/conf.d/ext-xdebug.ini),然后确保Komodo正在监听正确的端口(9000不起作用,所以我改为9001)。