2

我一直在搜寻我能找到的所有资源,但都没有找到。当我开始调试会话时,我在 NetBeans 6.9 中收到可怕的“等待连接”消息。经过大量阅读,大多数人都能够让 phpinfo() 显示它加载了 xdebug 模块。我不是这样。

我使用这个调用通过 SVN 下载了源代码

svn co svn://svn.xdebug.org/svn/xdebug/xdebug/trunk xdebug

我切换到 xdebug 目录,然后在源代码上运行phpize

sudo /Applications/MAMP/bin/php5/bin/phpize
Password:
grep: /Applications/MAMP/bin/php5/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php5/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php5/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

一个大胖子没事!引用的目录甚至不存在。因此,我假设我在此之后所做的任何 .ini 调整都是无用的。如果我执行 whereis php,我会在 /usr/bin 中找到它。这是操作系统预装的默认 php。我不想要那个。我需要使用与 MAMP 一起安装的 php。我无法相信让这个东西工作起来是多么令人沮丧!

作为记录,我的 php.ini 中的 xdebug 部分如下所示:

[xdebug]
    ; xdebug config for Linux and Mac OS X
    zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=localhost
    xdebug.remote_port=9000
    xdebug.idekey="netbeans-xdebug"
    xdebug.profiler_enable=1
    xdebug.profiler_output_name=xdebug.cachegrind-out.%s.%p
    xdebug.remote_log="/Applications/MAMP/logs/xdebug_log.log"

这是使 xdebug 工作的许多不同尝试的混合体。所以,我不知道哪些作品是有效的。

我把自己置于专家的摆布之下,因为我显然不是他们中的一员。在这一点上,我完全不知道如何进行。

提前致谢。

4

3 回答 3

7

要在 MAMP 目录而不是系统路径中使用 phpize,您应该将 PHP 二进制文件的 MAMP 目录添加到 $PATH。下面我使用的是 MAMP 1.9.1,它提供 PHP 5.2 和 PHP 5.3。我们假设您正在为 PHP 5.3 进行编译。

打开或创建~/.bash_profile并放入以下内容:

#Add MAMP binaries to path
export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH"

您可能还需要 chmod 里面的二进制文件/Applications/MAMP/bin/php5.3/bin才能执行:

chmod 755 /Applications/MAMP/bin/php5.3/bin/pear
chmod 755 /Applications/MAMP/bin/php5.3/bin/peardev
chmod 755 /Applications/MAMP/bin/php5.3/bin/pecl
chmod 755 /Applications/MAMP/bin/php5.3/bin/phar
chmod 755 /Applications/MAMP/bin/php5.3/bin/phar.phar
chmod 755 /Applications/MAMP/bin/php5.3/bin/php
chmod 755 /Applications/MAMP/bin/php5.3/bin/php-config
chmod 755 /Applications/MAMP/bin/php5.3/bin/phpcov
chmod 755 /Applications/MAMP/bin/php5.3/bin/phpize

重新启动终端会话以加载新的 $PATH。运行命令which phpize,它应该显示/Applications/MAMP/bin/php5.3/bin/phpize. 如果不是,则phpize您的 MAMP 目录中的路径未加载到您的 $PATH 中。在终端中使用echo $PATH以确保/Applications/MAMP/bin/php5.3/bin在 $PATH 中。

要编译 xDebug,您需要 PHP 编译时的头文件。这些可在 DMG 中的 MAMP 网站上找到,称为“MAMP 组件”: http: //www.mamp.info/en/downloads/index.html

解压 MAMP 组件并复制MAMP_src到您的桌面。解包MAMP_src/php-5.3.2.tar.gz并将其移动到php-config --includes应该包含的包含路径中/Applications/MAMP/bin/php5.3/include/php

cd ~/Desktop/MAMP_src
tar -xvzf php-5.3.2.tar.gz
mkdir -p /Applications/MAMP/bin/php5.3/include
mv php-5.3.2/ /Applications/MAMP/bin/php5.3/include/php

您现在可以phpize在 xDebug 源目录中运行。

于 2010-10-06T19:01:59.253 回答
3

我在 Mac OSX 10.6 上遇到了类似的 XAMPP 问题。

在 xdebug 下载目录中运行 phpize 时,我没有得到版本号。

PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No

我必须安装“开发包”,它将 /Applications/XAMPP/xamppfiles/include 和其他文件添加到您的 XAMPP 安装中。安装开发包也修复了 pecl,所以我尝试使用 pecl 安装 xdebug。

pecl install xdebug

但是apache无法以错误启动

Failed loading /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so:  dlopen(/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so, 9): no suitable image found.  Did find:
        /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so: mach-o, but wrong architecture

我尝试从源代码编译并得到相同的“错误架构”错误

最后,我只是使用了有效状态下的KomodoIDE 二进制文件

于 2011-07-07T15:04:23.460 回答
0

由于 PHP 5.3.1 的问题,我刚刚开始自己​​使用 xdebug。几周前我按照说明使用了 PECL,但看起来 phpize 是新的黑色。我查看了新指令(从我的 phpinfo() 生成)@ http://xdebug.org/find-binary.php

这是值得注意的:

Run: phpize

As part of its output it should show:

Configuring for:
PHP Api Version:         20090626
...
Zend Extension Api No:   220090626
If it does not, you are using the wrong phpize. Please follow this FAQ entry and skip the next step.

2件事:

  1. 你检查过 phpize 是最新的吗?

  2. 如果这不起作用,请尝试以下说明:http: //xdebug.org/docs/install

于 2010-06-29T20:51:33.763 回答