2

私は見つけることができるすべてのリソースを精査してきましたが、空になりました. デバッグセッションを開始すると、NetBeans 6.9 で恐ろしい「Waiting for Connection」メッセージが表示されます。よく読んだ後、ほとんどの人は 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 で見つかります。これは、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 を機能させるためのさまざまな試みの寄せ集めです。したがって、どの部分が有効かどうかはわかりません。

私は明らかに専門家の一人ではないので、私は専門家の慈悲に身を任せています。この先どうすればいいのか全く見当がつきません。

前もって感謝します。

4

3 に答える 3

7

システム パスの代わりに MAMP ディレクトリで phpize を使用するには、PHP バイナリ用の MAMP のディレクトリを $PATH に追加する必要があります。以下では、PHP 5.2 と PHP 5.3 を提供する MAMP 1.9.1 を使用しています。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 する必要がある場合もあります。

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。そうでない場合、phpizeMAMP ディレクトリのパスが $PATH にロードされていません。echo $PATHターミナルで使用し/Applications/MAMP/bin/php5.3/binて、$PATH にあることを確認します。

xDebug をコンパイルするには、PHP がコンパイルされたときのヘッダー ファイルが必要です。これらは DMG の MAMP Web サイトで入手でき、「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

phpizexDebug ソース ディレクトリで実行できるようになりました。

于 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 に答える