2010-06-29 34 views
2

我一直在搜寻每一个我能找到的资源,但都是空的。当我启动一个调试会话时,我在NetBeans 6.9中遇到了可怕的“等待连接”消息。经过多次阅读后,大多数人都能够获得phpinfo()来显示它加载了xdebug模块。对我来说不是这样。xdebug不加载。没有在Apache重新启动后在phpinfo()中找到

我下载的源通过SVN使用此调用

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

我切换到XDebug的目录,然后将源

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: 

一个大胖子没事就跑到phpize!引用的目录不存在。所以,我假设任何.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的工作。所以,我不知道哪些作品是有效的。

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

在此先感谢。

+0

你为什么要编译xdebug?为什么不安装它与梨/ pecl? – greg0ire 2010-06-29 20:39:46

+0

首先,我按照关于如何在Mac上安装的说明进行操作。其次,我尝试了pecl安装程序。它和我在下面的跟进评论中所做的完全一样。默认安装在/ user/bin中执行。那是错误的地方。我需要它安装在/ Applications/MAMP/bin/php5/bin /中。所以,如果您有解决方案,我将不胜感激与之相关的帖子。谢谢。 – 2010-07-01 13:21:30

回答

7

要在MAMP目录,而不是你的系统路径中使用phpize,你应该为PHP二进制文件添加甲基苯丙胺的目录到你的$ 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" 

您可能还需要属性的二进制文件里面/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。否则,MAMP目录中phpize的路径未加载到$ 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 

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

+0

什么是xDebug的源代码目录? – 2011-03-20 16:33:34

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. 

两两件事:

  1. 你检查这phpize达日期?

  2. 如果不工作尝试这些指示:http://xdebug.org/docs/install

+0

我已经缩小到这个范围。在我的MAMP路径中找到的Phpize将无法正常工作。我显然有源使用/ usr/bin/phpize进行编译。一切都很美好。我重新启动了MAMP,跑了phpinfo()和......什么都没有!当我从CLI运行php-config --version时,我得到了--version [5.3.1]。 MAMP phpinfo()表示PHP 5.2.11版,并且在输出中找不到xdebug,这并不奇怪。 所以,正如我最初所说,这是预加载的PHP,帮助编译xdebug,而不是MAMP。 我的问题依然存在。尽管如此,感谢领先。 – 2010-06-29 22:20:19

3

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

我没有版本在xdebug下载目录中运行phpize时的数字。

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

我必须安装“开发包”,这增加了/应用/ XAMPP/xamppfiles /包括和其他文件到您的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 

我试图从源代码编译,并得到了相同的“wrong architecture”错误

最后,我只是从工作活动状态使用的KomodoIDE binary

+1

哇,真好!刚刚下载了Komodo xdebug.so文件,拖放完成。 – Rafa 2013-08-29 08:54:48

相关问题