2010-06-29 7 views
2

찾을 수있는 모든 리소스를 수색했지만 비어 있습니다. 디버그 세션을 시작할 때 NetBeans 6.9에서 "연결 대기 중"이라는 메시지가 나타납니다. 많이 읽은 후, 대부분의 사람들은 phpinfo()에 xdebug 모듈이로드되었음을 표시 할 수 있습니다. 나는 그렇지 않다.xdebug가로드되지 않습니다. 아파치 다시 시작한 후 phpinfo()에서 찾을 수 없습니다.

나는 내가 Xdebug는 디렉토리로 전환이 호출

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

를 사용하여 SVN을 통해 소스를 다운로드 한 후 소스

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에서 찾을 수 있습니다. 이것이 OS에 미리 설치된 기본 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를 컴파일하려고합니까? 왜 pear/pecl로 설치하지 않습니까? – greg0ire

+0

먼저 Mac에 설치하는 방법에 대한 지침을 따르고있었습니다. 둘째, 나는 pecl 설치 프로그램을 시도했다. 아래의 내 의견에 언급 된 내용과 정확히 동일합니다. 기본 설치는/user/bin에 설치합니다. 그건 잘못된 곳이야./Applications/MAMP/bin/php5/bin /에 설치해야합니다. 그래서, 해결책이 있다면, 관련 게시물에 감사드립니다. 감사. –

답변

7

대신 시스템 경로의 MAMP 디렉토리에의 phpize를 사용하려면, 당신은 $ 경로에 PHP 바이너리에 대한 MAMP의 디렉토리를 추가해야합니다. 아래에서는 PHP 5.2 및 PHP 5.3을 제공하는 MAMP 1.9.1을 사용하고 있습니다. PHP 5.3 용으로 컴파일한다고 가정합니다.

를 열거 나 ~/.bash_profile을 만들고 다음 내용을 넣어 :

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 

를 새로운 $에 대한 귀하의 터미널 세션을 다시 시작합니다 : 당신은 또한 실행 파일로 /Applications/MAMP/bin/php5.3/bin 내부의 바이너리를 chmod를해야 할 수도 있습니다

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

을 로드 할 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

MFC 구성 요소의 압축을 풀어 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의 소스 디렉토리 란 무엇입니까? –

0

PHP 5.3.1의 문제점으로 인해 xdebug로 작업하기 시작했습니다. 몇 주 전에 지침 당 PECL을 사용했지만 phpize가 새로운 검정 인 것처럼 보입니다.

  1. 은 당신이의 phpize가 최대입니다 확인이 :

    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 일 :이 주이다 http://xdebug.org/find-binary.php

    @ (내은 phpinfo()에서 생성 된) 새로운 지침을 통해 보았다 날짜?

  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는 MAMP가 아니라 xdebug를 컴파일하는 데 도움이되었습니다. 내 문제는 여전히 존재합니다. 그래도 고마워. –

3

Mac OSX 10.6에서 XAMPP와 비슷한 문제가있었습니다.

xdebug 다운로드 디렉토리에서 phpize를 실행할 때 번호가 없습니다.

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

나는 응용 프로그램/XAMPP가 xamppfiles/설치 포함하고 XAMPP에 다른 파일// 추가하는 '개발 패키지'를 설치했다. 개발 패키지를 설치하면 pecl이 고정되므로 xebug를 설치하기 위해 pecl을 사용해 보았습니다.

pecl install xdebug 

하지만 아파치 오류

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

woah nice! 코모도 xdebug.so 파일을 다운로드하고 드래그 & 드롭하면됩니다. – Rafa