11

奇妙に聞こえるかもしれませんが、信じてください。実際に起こっているのです。ここに私のシステム設定があります:

Windows7
Apache 2.2
PHP 5.2.12
Xdebug 2.0.5

PHP.ini ファイルで XDebug を構成しました。php -m を実行すると、実際に Xdebug がロードされていることがわかります。ここで、Apache AS A SERVICEを(または Apache Monitor で) 起動し、phpinfo() を実行すると、Xdebug がロードされていると表示されません。

ただし、(ここがクレイジーな部分です)、Apache bin ディレクトリに移動し、単純に httpd.exe を実行してから phpinfo() を確認すると、Xdebug がロードされていることが示されます!

また、サービスまたはコマンドラインで起動した場合の phpinfo() を比較すると、どちらの場合でも php.ini ファイルは同じように見えます。Xdebug がロードされている部分を除いて、すべて同じように見えます。

何かアイデアがあれば、よろしくお願いします。

4

6 に答える 6

1

最近同じ問題に遭遇しましたが、xdebug.so モジュールへの httpd アクセスを許可するために SELinux をピンホールする必要がありました。

chcon -v -R --type=httpd_sys_content_t /path/to/your/xdebug.so

httpd を再起動すると、すべてが期待どおりに機能しました。

于 2012-02-29T02:08:35.097 に答える
0

一般に、php のインスタンスを呼び出す可能な方法ごとに異なる構成ファイルがあります: HTTP/CLI など (少なくとも *nix ではこれが当てはまります)

システムで php*ini を検索し、Xdebug 設定が異なる/欠落している複数のファイルがあるかどうかを確認することをお勧めします。

于 2010-10-21T21:16:36.467 に答える
0

マイク・パーセル、あなたはほぼ正しかった...

新しい Red Hat およびその他の Linux ディストリビューションでは、SELinux が有効になっており (大きなものを吸う)、Apache によって生成された子 (xdebug.so など) が Web へのアクセスなどの特定のことを実行するのをブロックします。

したがって、以下を使用して SElinux を無効にする必要があります。

vi /etc/selinux/config 

SELINUX=disabled

そのため、再起動すると、SE Linuxが無効になり、X-Debugが機能し始めます...これの原因を丸一日殺しました。誰かの助けになることを願っています..

これは、Amazon EC2 と AWS Linux サーバーのセットアップ方法でもあります...

ショーン。

于 2013-07-24T00:24:12.107 に答える
0

私はこの問題を抱えていましたが、php.ini にバックスラッシュではなくスラッシュが含まれていることが原因であることがわかりました。C:/php/ext/xdebug.dll の代わりに C:\php\ext\xdebug.dll を試してください。

于 2012-07-24T13:58:10.530 に答える
0

おそらくバグのあるバージョン/組み合わせです。私は別の問題を抱えていました (XDebug がいくつかの変数を認識していませんでした)。

http://xdebug.org/download.php

于 2010-10-23T22:53:01.567 に答える
0

Windows/IIS の Xdebug でも同様の問題がありました。アクセス許可の問題であることが判明しました-xdebug .dllを設定して匿名ユーザーに読み取りアクセスを許可すると、動作し始めました。その .dll のアクセス許可をチェックして、Apache を実行しているユーザーがアクセスできることを確認します。

于 2010-03-22T21:39:09.717 に答える