2012-07-08 60 views
7

我在使用MAMP在Mac OSX上构建/安装XDebug时遇到问题。在Mac OSX上使用MAMP构建/安装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 

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

如果我运行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/[email protected]/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 

毫安具体的PHP路径前进 '的/ usr/bin中' 的出现。我想接下来的事情就是手动运行MAMP具体phpize提供它的整个路径,如下所示:

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 

现在,我检查了在搜索这些文件的权限和它表明我有充分的权限读取和写入文件这个文件夹。我有点失落。任何帮助将不胜感激。如果能够帮助诊断此问题,我可以发布任何附加信息。

回答

3

更多的研究和反复试验后我设法做以下的事情后进行安装:

  1. 在终端,我跑chmod u+x /Applications/MAMP/bin/php/php5.4.3/bin/*要打开phpize,一切都在这条道路
  2. 其他执行权限继this article安装的命令行工具
  3. this article安装最新的autoconf和相关工具
  4. 后,继由XDebug Wizard提供的步骤没有顺利的工作

虽然这是一个主要的头痛。希望这个答案能够在未来节省一些时间。

8

我尝试了上述,我没有为我工作,所以我Google了一些,这里是什么伎俩。

  1. 下载并解压MAMP Components从SourceForge

  2. 请记中运行phpize过程中均未发现路径(S)的,对我来说是:

    /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. 运行的说明使用phpize的正确版本从Xdebug site

我希望帮助别人,因为我花了waaaay太长时间来解决这个!

+0

任何建议在哪里查找目标PHP版本的组件?) – greg 2013-01-19 01:58:11

+1

要找到这些文件,请下载PHP源代码。即5.4使用此链接:http://us2.php.net/get/php-5.4.4.tar.gz/from/a/mirror。您可以提取并转储在步骤3中创建的/Applications/MAMP/bin/php/php5.2.17/include/php/中的所有内容,或者仅包含所需的文件。要么会工作! – greg 2013-01-19 02:16:49

11

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

的XDebug已经为毫安。

检查你的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 

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

http://danpolant.com/want-to-run-xdebug-mamp-is-the-easiest-way/

+0

确实。 XDEBUG已经准备好用于MAMP(至少PRO版本) – MEM 2013-04-08 10:22:25

+0

即使使用非专业版本,该解决方案仍然可行!非常简单,谢谢你的指导! :D – Daan 2016-08-05 08:11:33

+0

对于我的情况,它被发现在:/Applications/MAMP/bin/php/php7.X/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so – 2017-08-15 13:37:46

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" 
+0

嘿Ramin,只是从你的答案看起来像你提供了一个windows解决方案,问题一直是Mac OS X的特定问题,甚至在问题标题中也这样说。 – 2016-08-15 15:20:46