3

Sublime Text 2 を使用して Xdebug をセットアップし、ローカル マシンで PHP をデバッグしようとしていますが、どこにも行き着きません。PHP 5.4 で MAMP を実行しています。これをphp.iniの最後に入力しました:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_autostart=1

Xdebug.so 拡張機能は MAMP に付属しており、php.ini ファイルで指定された場所にあることを確認しました。PHP 情報に Xdebug 情報が表示されます。

Sublime Text 2 では、このパッケージをインストールし、プロジェクトの設定を次のように変更しました。

{
    "folders":
    [
        {
            "path": "/Applications/MAMP/htdocs"
        }
    ],

    "settings": {
        "xdebug": { "url": "http://localhost" }
    }
}

Shift キーと F8 キーを押して Sublime Text 2 のプラグインのメニューを表示し、ブレークポイントを追加または削除できます (コード行の左側に灰色のドットが表示されます)。「Start Debugging」をクリックすると、「?XDEBUG_SESSION_START=sublime.xdebug」という文字列が URL に追加されたブラウザが開きます。しかし、私のブレークポイントは何もしません。

コードに追加xdebug_break();して、プログラムが停止するかどうかを確認しようとしましたが、停止しません。ブラウザとIDEがまったく接続されていないようです...

何か案は?

4

2 に答える 2

11

まず、Kindar の xdebug プラグインは満足できるものではありません。彼はそのプラグインを試用版として作成し、作成中に崇高な API を学習したため、問題、ハードコーディングされた変数などでいっぱいです。私はついにそれをあきらめて、そのプラグインをアンインストールしました。IMHO の最大の欠点の 1 つは、1 レベル以上の深さの配列変数を表示できないことでした。彼は、数か月前にゼロから書き直すつもりだと github に投稿しましたが、それ以来、放棄されたように見えますが、私はまだ新しいバージョンが出てくるのを必死に待っています.Python を学んで自分で書くことさえ考えていました.

試したくない場合は、まず他の Xdebug クライアントで試して、Xdebug が機能することを確認してください。Xdebug が他の場所で動作する場合は、2.7 では動作しないため、python2.6 がインストールされていることを確認してください。ubuntu 12.04 を実行している場合、python2.6 はリポジトリにないため、プラグインの readme から Ubuntu 12.04 の回避策があります。

  1. [http://packages.ubuntu.com/lucid/python2.6][python 2.6]をダウンロードしてください。
  2. それを抽出します:

    dpkg-deb -x python2.6_2.6.5-1ubuntu6_i386.deb python2.6
    
  3. 解凍した usr/lib/python2.6 フォルダーを {Sublime Text directory}/lib (=/usr/lib/sublime-text-2/lib/) にコピーします。

2 つのことを覚えておいてください: まず、ファイル /usr/lib/sublime-text-2/lib/python26.zip があるので、このファイルを削除しないでください。次に、抽出した .deb には、その中に usr/lib/python2.6 があります。コピーしたいのは、python2.6 ディレクトリ全体ではありません。したがって、その展開された .deb の外にいる場合は、

cp -r python2.6/usr/lib/python2.6 /usr/lib/sublime-text-2/lib

仕事をするかもしれません。その python2.6/usr/lib/python2.6 フォルダーまたはそのコンテンツだけをコピーすることになっている場合、私は両方をコピーしましたが、何も台無しにしませんでした。

于 2012-12-03T23:16:22.633 に答える
0

Python バージョン 2x をインストールしていますか? Python をインストールするか、xdebug.remote_enable=1 を設定してみてください

于 2012-12-02T04:06:41.783 に答える