PHPみたいな忖度の激しい言語では、xdebugの使用が基本であるにも関わらず、その設定についてはqiitaのコピペやら勘やらで凌いでる人がほとんどだと思われますが、ようやくついさっき個人的に腑に落ちたので共有しておきます。 xdebugでデバッグモード&ステップトレース等が機能する条件 条件としてはどうやら後述の3つしかありません。 どれがが掛けても、IDE側ではステップトレースは始まりません。 リモートPHP側だけデバッグモードに入った場合は、実行がガッツリ固まります。 条件1:リモートで xdebugのデバッグモードが起動できること xdebugモジュールを組み込む。のは当然として.... auto_start=1 && remote_enable=1であっても、実はデバッグモードは動いてません。 php.ini のxdebugセクションの auto_start remote_ena
はじめに PhpStormのリモートインタープリタにdocker-composeを選んで、デバッグ環境を整えた人向けの記事です。 phpstormでphpスクリプトを実行デバッグしてみよう GUIからdebug実行(下の虫)すると docker-compose run で実行してしまうと別コンテナになっちゃって、どうしても都合が悪い時とかありますよね。。 だから、docker-compose exec でbatchを動かしたいんだけど、どやってデバッグすんねんって困ってませんか? また、ブラウザから実行するんじゃなくて、terminal上からcURLでデバッグしたい時どうするんじゃいと困ってませんか? そんな悩める希少なかたにお届けします。 docker-compose exec で xdebug ON こんな感じで -e XDEBUG_CONFIG=remote_connect_back
そろそろソースコード単位で動きを追いたい年頃になって来ました。 Debugできるようにする PhpStorm から Vagrant VM の PHP アプリケーションをリモートデバッグする(Web & CLI) - Shin x blog 最初はこれ見てやろうとしたんですがレポジトリがどうのこうのとか言い出してよくわからなくなりました。 そもそも2014年というあたりで回れ右すべきだった。 いや流石にHomesteadさんはなんかあるやろと検索したらズバリなタイトルが出て来ましたのでこれを参考にしてみます。 Homestead + Xdebug + PhpStorm でリモートデバッグ環境をつくる - ラボラジアン PHP7.2にはXdebugがない? 上記資料では7.1だったんですが、Homesteadは7.2を指してるんですよね。 で、7.1のフォルダにはxdebugのiniファイルが
XAMPPのPHP7でXdebugを使う場合 XdebugのDLLをダウンロード XAMPPのバージョンによっては環境が異なりXdebugのDLLが適用できないものもある。 まずは、XAMPPでApacheを起動させる phpinfo()でPHPの情報を表示 環境にあったXdebug.dllをダウンロード phpinfo()で出力されたソースコード(html)を全部コピー https://xdebug.org/wizard.php のサイトのテキストボックスにコピーしたソースコードを貼り付ける [Analyse my phpinfo() output]ボタンを押す 現在の環境に合ったDLLのファイルがダウンロードできるのでこれをダウンロードする C:\xampp\php\ext にダウンロードしたDLLを入れる php.iniを編集 下記を末尾に追記 ただしphp_xdebug-2.6.0
前段 以前、こちらでPhpStormでxDebugを使う記録を取ってました。 PhpStormとHomesteadとXdebugでDebugできるようにする - Qiita その後、なんか調子悪くなったhomesteadをdestroyしたせいで? xdebugのインストールとかが吹き飛んだっぽくて、デバッグできなくなってしまいました。 php -mでモジュール一覧を見ても、Zend Modulesにxdebugが表示されません。 なので、改めて入れ直します。 使えるかどうかの確認 毎回、「どこを確認すればええんや……」となるのでまとめておきます。 各設定が具体的にどうなっていればいいかは以下を参照してください。 Homestead + Xdebug + PhpStorm でリモートデバッグ環境をつくる - ラボラジアン PhpStormの設定 PhpStorm Preferences L
PHP のデバッグツールである Xdebug にはリモートデバッグという機能があります。 …というのは言うまでもなく、広く知られていると思います。 しかし、Xdebug の設定をなんとなくコピペで済ませたりしていないでしょうか? Xdebug のリモートデバッグ設定、理解していますか? 日本語のサイトを検索すると「 xdebug.remote_enable=1 にして、xdebug.remote_host を xxx にして…」と設定だけが淡々と書かれた情報が多いです。 しかし、設定項目について、それぞれの意味を理解していないとトラブル時の対処が難しくなります。 リモートデバッグとは何か? リモートデバッグ (Remote Debugging) とは、実行中の PHP とは別の場所にデバッグを制御するものが存在する 方式です。 よくある環境だと、次のように図示できます。 PHP 本体とは別
# ..snip.. COPY ./docker/workspace/usr/local/etc/php/conf.d/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini RUN if [ "${PHP_XDEBUG_INSTALL}" = "true" ]; then pecl install xdebug ;fi RUN if [ ! "${PHP_XDEBUG_INSTALL}" = "true" ]; then rm -rf /usr/local/etc/php/conf.d/xdebug.ini ;fi # ..snip.. 実現したかったこと Dockerfile を使って、 PHP の動くコンテナを作成する ある条件(ARG で与えるパラメーター)に従って必要ならば xdebug をインストール 具体的には、 PHP_XDEBUG_
環境 php 7.2 Laravel 5.4 Homestead 6.1.0 (Vagrant経由で起動) Windows10(Homesteadとの共有フォルダを作成してWindows上でソースを編集している) PhpStorm 182.3911.43 xdebug 2.6.0 やりたい事 PhpStormからPHPUnitをデバッグ実行したい (ブレークポイントで停止させたい) 手順 1. Homestead上でxdebugの設定を行う /etc/php/7.2/mods-available/xdebug.iniを以下の通り編集する zend_extension=xdebug.so xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.remote_port = 9000 xdebug.max_nesting_le
デバッガが反応しないんだけど.. 仮想環境で開発をしていると、間に挟まるレイヤーのせいで悩まされることが度々あります。 例えば、ホスト側でIDEを実行し、ゲスト側で開発対象のアプリを起動しているような場合、デバッグ実行をするためには適切な設定が必要になります。 ゲストOSからは、デバッガがリモートホストで実行されているように見えるからです。 ここでは、ゲストOSでPHPを実行して、ホストOS上のデバッガでデバッグする方法を紹介します。 想定環境 Vagrant でゲストOSを起動し、ゲストOS上のDockerコンテナでPHPアプリを実行します (Dockerを使わず、ゲストOS上で直接PHPを実行する場合でも、下記の方法でデバッグ実行できるようになるはずです)。 Vagrant のプロバイダには、VirtualBox を使います。 VirtualBox 限定の設定を使うので、他のプロバイダ
できそうでできなくて苦労したのでメモ。 環境 PHP:7.0.9 Xdebug:2.4.1 PHPStorm:2016.2.2 前提 Vagrantの仮想環境にApache、PHP、Xdebugはインストール済み Vagrant(の仮想環境) CentOSで試しましたが、特にOS依存はないです、たぶん。 php.ini Xdebug用の設定値を追記します。他にも設定値がありますが、とりあえず動けばいいや的な。 [xdebug] zend_extension=/opt/remi/php70/root/usr/lib64/php/modules/xdebug.so ; Xdebugモジュールのパス xdebug.remote_enable=On xdebug.remote_autostart=On xdebug.remote_host=192.168.33.1 ;デバッグ接続するPCのIPアド
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く