9

我在使用 MAMP 在 Mac OSX 上构建/安装 XDebug 时遇到问题。

到目前为止,我在网上进行了广泛的搜索,目前我被 XDebug“安装向导”的一部分困住了,它告诉我在我下载的源代码上“运行:phpize”。

当我运行时,phpize我收到以下消息:

new-host-2:xdebug-2.2.0 Dima$ phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

如果我这样做,which phpize我会得到:

new-host-2:xdebug-2.2.0 Dima$ which phpize
/usr/bin/phpize

这不是我想使用的版本,我想使用phpize我假设的 MAMP 安装版本,因为我想在 PHP 的 MAMP 版本上安装 XDebug。这令人费解,因为我已将 MAMP 特定的 PHP bin 路径添加到我的 .bash_profile 到$PATH变量中。

如果我跑步,echo $PATH我会得到:

new-host-2:xdebug-2.2.0 Dima$ echo $PATH
/opt/local/bin:/opt/local/sbin:/Applications/MAMP/bin/php/php5.4.3/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/gems/ruby-1.9.2-p290@global/bin:/Users/Dima/.rvm/rubies/ruby-1.9.2-p290/bin:/Users/Dima/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

MAMP 特定的 PHP 路径显示在“/usr/bin”之前。我尝试的下一件事是运行特定于 MAMPphpize的手动提供整个路径,如下所示:

new-host-2:xdebug-2.2.0 Dima$ /Applications/MAMP/bin/php/php5.4.3/bin/phpize 
-bash: /Applications/MAMP/bin/php/php5.4.3/bin/phpize: Permission denied

现在我在 Finder 中检查了这些文件的权限,它表明我拥有读取和写入此文件夹中文件的完全权限。我有点失落。任何帮助将不胜感激。如果有助于诊断此问题,我可以发布任何其他信息。

4

4 回答 4

15

遇到同样的问题,但找到了更好的解决方案

xDebug 已经在 MAMP 中。

检查你的 php.ini

/Applications/MAMP/conf/php5.x/php.ini

一路往下走。你会看见

[xdebug]
;zend_extension="/Applications/MAMP/bin/php5.X/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

把它改成

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

重新启动服务器...完成!

见:https ://web.archive.org/web/20151107210347/http://danpolant.com/want-to-run-xdebug-mamp-is-the-easyest-way/

于 2013-01-29T21:14:27.330 回答
8

我尝试了上述方法,但我并没有为我工作,所以我用谷歌搜索了更多,这就是诀窍。

  1. 从 SourceForge下载并解压MAMP 组件

  2. 记下在 phpize 过程中未找到的路径,对我来说是:

    /Applications/MAMP/bin/php/php5.2.17/include/php/main/php.h
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_modules.h
    
    /Applications/MAMP/bin/php/php5.2.17/include/php/Zend/zend_extensions.h
    
  3. 在您的 MAMP php 目录中创建所需的路径,再次对我来说是

    /include/php/
    
  4. 确保目录的正确权限

  5. 找到您的目标 PHP 版本(在我的例子中是 5.2.17)的组件并将它们复制到您在步骤 3 中创建的路径中。

  6. 从Xdebug 站点运行使用正确版本 phpize 的说明

我希望这对其他人有帮助,因为我花了很长时间才解决这个问题!

于 2012-10-04T12:25:28.600 回答
3

经过更多的研究和反复试验,我在做了以下事情后设法安装了它:

  1. 在终端中,我运行了chmod u+x /Applications/MAMP/bin/php/php5.4.3/bin/*打开 phpize 的执行权限以及该路径中的所有其他内容
  2. 按照本文安装命令行工具
  3. 按照本文安装最新的autoconf及相关工具
  4. 之后,按照XDebug 向导提供的步骤顺利工作

不过,这是一个令人头疼的问题。希望这个答案能在未来为别人节省一点时间。

于 2012-07-08T03:53:52.440 回答
0

在 C:\MAMP\conf\php xxx\ 目录中很容易打开每个相关的 php.ini,然后将这些行放入 php.ini

    [xdebug]

xdebug.default_enable=1

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

zend_extension="C:\MAMP\bin\php\php5.5.0\ext\php_xdebug.dll"
于 2014-12-29T08:04:53.917 回答