2012-07-08 87 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