4

を使用するプロジェクトに取り組んでいますCodeIgniterNetbeansIDEとして使用し、Xdebugインストールしました。XAMPPローカル開発に使用しています。

動作するもの: Xdebug は正常に動作していますnormal PHP code.

問題:CodeIgniterしかし、プロジェクトのデバッグに問題があります。デバッガーが停止するredirect()

問題の詳細: netbeans でプロジェクトのデバッグを開始します。デバッガーが起動し、ホームページが表示されます。ホームページには、ホームページコントローラーのメソッドに対応したリンクがあります。デバッガーは、リンクが指すコントローラー内のメソッドに到達します。このメソッドにはredirect. リダイレクト デバッガーが停止した時点で。

関連するコード スニペット:

クリックされた URL (これはヘッダー メニューの一部です)

<a href="<?= base_url("somefunc/"); ?>">Click Me </a>

routes.php - きれいな URL に再ルーティングします。

$route['somefunc'] = "foo/somefunc";

そして私のFooコントローラー(foo.php)で:

class Foo extends CI_Controller {
    public function somefunc()
    {
        redirect('/bar/otherfunc');  // DEBUGGER REACHES TILL HERE THEN STOPS WORKING
    }
}

上記の のコメントで述べたようにfunction somefunc()、Xdebug はリダイレクトが発生した場所で動作を停止します。

さらに、次の情報が役立つ場合があります。

config.php

$config['uri_protocol'] = 'AUTO'; // I have also tried PATH_INFO, QUERY_STRING, REQUEST_URI & ORIG_PATH_INFO.
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
$config['enable_query_strings'] = TRUE; // Have tried FALSE too.
$config['index_page'] = ''; // Tried index.php too.

xdebugの設定php.ini

zend_extension ="path\to\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000

- ここで見たさまざまな提案を試してみましたが、Google と同様に役に立ちませんでした。誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

9

解決策を見つけました。おそらく、これはこれに苦労している他の誰かを助けるかもしれません. どうやらスムーズなデバッグを可能にするために、次のオプションを含める必要があります。

xdebug.remote_autostart=1

あなたのphp.ini。これらの設定は今私のために働きます:

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

最後の行は、私が見つけたオプションです(Xdebug Official Documentation)。ドキュメントの関連部分を以下に示します。

xdebug.remote_autostart

タイプ:ブール値、デフォルト値:0

通常、リモート デバッグを開始するには、特定の HTTP GET/POST 変数を使用する必要があります (「リモート デバッグ」を参照)。この設定が 1 に設定されている場合、GET/POST/COOKIE 変数が存在しない場合でも、Xdebug は常にリモート デバッグ セッションを開始し、クライアントに接続しようとします。

于 2013-06-13T15:12:19.703 に答える
0

同じ問題を見つけ、xdebug のバージョンをアップグレードして修正しました。

私が使用していたバージョン (xdebug 2.1.3) にはバグがあったようですが、xdebug 2.2.3 では問題なく動作します。

このツールを使用して、環境のカスタム インストール手順を実行します。 http://xdebug.org/wizard.php

于 2013-06-19T05:23:11.810 に答える
0

netbeans は$_SERVER['PATH_INFO']と url のように動作しないことに注意してください。netbeans ボードには、2014 年まで応答なしでそれについて伝えるhttp://127.0.0.1/site/test.php/v1/v2/parametertoputonphpathinfo/v3バグがあります。Mon Sep 09, 2013 8:54 am

http://forums.netbeans.org/topic56645.html

そのsinatraの方法を使用してリクエストをルーティングすることで、フレームワークのデバッグを不可能にします。
単純な Sinatra ルーターを書き直して、$_GET モードでデバッグし、フック コードを改善しました。

于 2014-07-16T20:12:24.570 に答える