PHP Conference Japan 2021での発表資料です https://fortee.jp/phpcon-2021/proposal/3ed8a69b-8618-4644-9a8c-655505078743
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
こんにちは。小林です。 単刀直入に言いますと、この記事を読むと「Docker+WordPress」の環境でXdebugを使えるようになります。早速ですが説明していきます。 はじめに まず私の開発環境の紹介です。 (マシンは6年前にフルスペックだった)MacbookPro (IDEがないと何もできないので個人的に最強のIDEだと思っている)PhpStorm (いろんな開発を並行するのでとっかえひっかえしやすい)Docker と、こんな環境で普段開発をしているのですが、久しぶりに大規模なWordPress案件に携わることになりました。 その案件では、馴染みのないプラグインを多数入れたり、そもそも最新のWordPressの機能を把握できていなかったりと、いくらPhpStormを利用しているといえども、それぞれの機能を追うのがなかなか難しい状況でした。 そこで、久しぶりにXdebugを頼ることを決
前回は、こちらの記事でDocker + WordPress + Xdebugな環境を作りました。 今回は、そこからさらにPhpStormでステップデバッグを実行できるようにしていきます。 Docker + WordPress + Xdebugの準備 はじめに、前回のDockerfileに少し手を加え、Xdebugの設定ファイルを利用できるようにします。なお、今回からはdocker-composeを利用していきますので、まずはディレクトリ構造を下記のように準備してください。PhpStormでプロジェクトを作成し、以下のようにファイルとディレクトリを用意します。 続いてxdebug.iniの中身です。 #xdebug.ini zend_extension=xdebug # Xdebugをどのモードで動かすか? # ※これはプロセス起動時のみ設定可能なのでここでしか指定できません。 # 初期値は
はじめに PHPでのXDebugによるデバッグ環境構築は、セットアップの手数が多く慣れていないと苦戦してしまうことが多いです。 いつも試行錯誤しながら何となく動作させていたのですが、苦手意識を無くすため時間をとってステップを追って仕組みを理解しました。 同じような方も多いかと思いますので備忘録として検証手順を書いておきます。もし間違えている部分があったらコメント欄でやさしく教えてください。 環境 検証は、下記環境で実施しました。 PHPのコンテナはapacheを使っていますがphp-fpmでも基本は同じです。 ホストOS macOS Monterey Docker Desktop for Mac: 4.3.2 PhpStorm 2021.3.2 Build #PS-213.6777.58, built on January 31, 2022 Dockerイメージ php:8.0-apach
はじめにVSCode(Visual Studio Code)でPHPをデバッグする方法について紹介します。(※本記事の内容は2021年5月時点の情報です。) 今回はXdebug3を使用しています。Xdebug2とXdebug3では「php.ini」の記述方法が異なるので注意が必要です。詳しくは、以下のサイトをご覧ください。 https://xdebug.org/docs/upgrade_guide/ja VSCode(Visual Studio Code)の設定拡張機能「PHP Debug」の導入VSCode(Visual Studio Code)を起動して、左メニューの拡張機能を選択し、「php debug」を検索します。 検索結果の一覧に「PHP Debug」が表示されたら「インストール」ボタンを押下して、「PHP Debug」をインストールします。 デバッグ構成ファイル「launch
WordPressの環境構築用パッケージとして以前紹介したwp-envだが、かなり進化が進んでいるので、便利な利用法を紹介する。 wp-envのドキュメント Gutenbergリポジトリ内 @wordpress/env で開発がガシガシ進められているが、日本語チームの努力もあり、日本語ドキュメントもかなり整備されてきた。リリース直後から取り入れられた点は次の通り。 xdebugの採用。起動時に wp-env start --xdebug と指定することでxdebugが有効になる。IDEの連携を利用すればステップデバッグ(ソースコードで処理を止めながらデバッグすること)も可能だ。更新。.wp-env.jsonで定数を一時的に変更するなどした場合は wp-env start --update とすることで更新が反映される。PHPバージョンの指定。5.6と7系のチェックなど、前よりも簡単に行える
An upgrade guide detailing which changes there are between Xdebug 2 and 3, and how to reconfigure your set-up to do similar things. New Concepts # Unlike Xdebug 2, where there was an enabling setting for each feature, with Xdebug 3 you put Xdebug into a specific mode, which can be configured with the xdebug.mode setting. This setting, in combination with xdebug.start_with_request is the new way to
version: "3" services: app: build: context: "docker/app/" ports: - 80:80 working_dir: /var/www volumes: - "./www/:/var/www" - "./docker/app/apache2/apache2.conf:/etc/apache2/apache2.conf" - "./docker/app/apache2/sites-available/000-default.conf:/etc/apache2/sites-available/000-default.conf" - "./docker/msmtp/msmtprc:/etc/msmtprc" depends_on: - mysql - mailhog mysql: build: context: "docker/mysql/"
概要 Xdebugを使ってみたので、分かったことや分からないままのことをまとめました。 (2021/8/18追記:Xdebugはコードリーディングが辛いときに利用したくらいで、記事を投稿した時期以降は利用していません。コードを読むのに慣れてくるとXdebugが無くてもなんとかなります。Xdebugを利用すると動作が遅くなることがあるので、導入の際には十分検討してください。) ※設定については、Dockerを利用している前提で説明します。 PhpStormの機能については、PhpStormでステップ実行するならどんな環境でも参考になると思います。 (InteliJについて書かれた記事も参考にしたので、JetBrainsのIDEを利用しているなら大体同じかもしれません) Dockerについて この一連の記事が分かりやすいので参考にしてください。 【Docker Compose】設定内容を1行ず
PHPの開発効率化!VSCodeでDockerコンテナに入って、Xdebugでデバッグする設定&使用方法PHPdebugxdebugDockerVSCode はじめに PHP の定番のデバッグツールの Xdebug のおすすめの設定や使用方法をご紹介する記事です。 コンソール画面で操作するブラックジャックゲーム開発の際に Xdebug を導入していたので、その環境をサンプルとして使用します。 その環境で Xdebug を起動させて、プログラムを実行したときにどんなことができるかを実際に見ていきます。 Xdebug とは Xdebug は、 PHP の デバッグツール です。 デバッグツール は、 バグの原因を見つける作業を手伝ってくれるツール のことです。 例えばこんなシーンがあるかと思います。 「実装うまくいかない、この行を処理しているときの変数の中身が知りたい」 「if文書いたけど、ち
2022/09/13 Xdebug徹底解説!環境ごとの設定方法から仕組みまでどこよりも詳しく解説します PHP Visual Studio Code この記事では、PHPのデバッグツール「Xdebug」の導入方法と基本的な使い方、その仕組みについてどこよりも詳細に解説いたします。これであなたもデバッグマスター間違いなし!敬遠されていた方や仕組みをよく分からず使っていた方はぜひ参考にしてみてください。 目次 XdebugでできることXdebugの導入方法開発環境への導入1. Xdebugのインストール2. php.iniの修正3. IDEの設定を行う4. 実際にステップ実行をしてみよう補足: ステップ実行の種類についてステップイン(F11)ステップオーバー(F10)ステップアウト(shift + F11)Docker環境に導入する方法(リモートデバッグ)1. DockerfileにXdebu
PHP での開発や PHP の使い方を練習する時、ローカルにすぐ立ち上がる開発環境があると便利です。PHP といえば Wordpress!開発環境は XAMPP!と良く紹介されてきましたが、2019 年の開発環境としては docker をオススメします。 今回は Nginx + PHP7-fpm のローカル環境を docker で作成しました。もちろん、データベースも追加できます。 docker を使うメリット docker は仮想環境の立ち上がりが高速で、多くの仮想環境を一度に立ち上げておくことも容易です。dockerfile や docker-compose.yaml といった設定ファイルを元に環境が構築されるため、一度設定を作れば同じ環境を何度でも何個でも作成できます。開発環境を壊すことを恐れなくて良いのは大きなメリットです。 実際のサーバーだと怖くて中々できないことが docker
特集「Xdebugの活用方法」を語る 弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。 2022年2月のイベントでは「Xdebugの活用方法」について語り合いました。 弊社のメンバーが事前にまとめてきたXdebugの基礎知識や使い方の説明資料にしたがって、他の参加者に意見を頂いて語り合いながらXdebugの活用方法を学びました。 今回はその内容についてレポートします! rakus.connpass.com 特集「Xdebugの活用方法」を語る デバッグツールについて Xdebugとは 導入方法 公式のインストール手順 Xdebugの便利な機能 Step Debugging ステップデバッグとは デバッグ方法 (PhpStorm) 1. 受信デバッグ接続のリッスンを有効にする 2. ブレークポイントをセット 3. デバッグセッションの開始 ステップデバッグ
目次 ブレークポイントでとまらない原因と対策/PHP7から8へ移行/VsCode・XDebug 原因1:XDebugとPHPのバージョン不一致 原因2:PHP.iniのXDebug2と3の違い ブレークポイントでとまらない原因と対策/PHP7から8へ移行/VsCode・XDebug VSCode(Visual Studio Code)でPHPを開発している方が対象です。 VSCodeですでにPHP開発を行ってデバッグもできている環境を前提に書いています。 そんな環境で、PHP7からPHP8にバージョンアップしました。 そうしても、別にエラーとかはでません。 けれど、VSCodeでデバッグしても、ブレークポイントで止まってくれなくなります。 その原因と対策を整理しておきます。 原因1:XDebugとPHPのバージョン不一致 最大の原因は、PHPのバージョンとphp_xdebug.dllのバー
概要 EC-CUBE4で独自プラグインを開発することになった。 プロジェクトの最初から最後まで関わるのは初めてなので、あとで自分が振り返るために考えたことや試したことをどこかに記録しておこうと思った。 本記事では、Dockerで開発環境を構築する手順を書く。内容は、他のメンバーに共有するために仕事中に調べてまとめたものを加筆・修正しただけ。 環境構築は、EC-CUBE 4.0 開発者向けドキュメントの通り進めれば簡単に終わる。 目次 EC-CUBE4 独自プラグイン開発 ①環境構築手順 (本記事) EC-CUBE4 独自プラグイン開発 ②独自プラグイン開発Tips EC-CUBE4 独自プラグイン開発 ③今後も使えそうなTips 3本立てで書く予定。 書きました。 動作確認環境 Windows10 Pro PHPStorm 2019.3.3 Docker Desktop 2.1.0.5 D
概要 前回、Docker(nginx + PHP-FPM)を使ってPHPの実行環境を構築しました。 基本構文を覚えたばかりなのでコード毎に動作を追いたいと思った次第です。 Docker(nginx + PHP-FPM + Xdebug)+ VisualStudio Codeでデバッグが行える環境を構築します。 前回作成したDocker(nginx + PHP-FPM)のPHP実行環境にXdebugを追加する形で構築します。 前回の環境構築記事は以下です。 kitigai.hatenablog.com 目次 概要 目次 参考サイト様 環境 デバッグ環境の構築 成果物 ディレクトリ構成 nginxのconfigファイル作成 Dockerfileの作成 peclって? docker-compose.ymlの作成 xdebug.iniの作成 host.docker.internalって Visua
気持ち vagrant上に構築したDockerでLaravel環境の構築はできた。さあ次はデバッグ環境を整えるだけだ。アレ、どう設定したらええんや。 やりたいこと vscodeを使ってvagrant環境に接続し、dockerコンテナで実装したlaravel環境のデバッグをxdebugを使って実現する。 事前準備 vscodeからvagrant環境に接続する為の「Remote-SSH」拡張機能をインストールしておく vscodeでxdebugを使用する為の「PHP Xdebug」拡張機能をインストールしておく vagrant上でdockerをインストールしておく dockerでlaravel環境を構築しておく コンテナのlaravelのプロジェクトをdockerホストと共有しておく 流れ Vagrantfileに仮想マシンのIPアドレスの設定を記入する。 phpコンテナ※に接続し、xdebu
はじめに Laravel SailはDockerコンテナ上に開発環境を構築しますが、必要な環境は一式用意されているため非常に便利です。 またオプションで必要なサービスを追加したり、自分でDockerfileをカスタマイズすることにより、オリジナルの環境の用意もできます。 環境は構築し直すことも配布することも容易ですので、個人でもチームでの開発でも便利です。 Laravelプロジェクトでデバッグを行う際、var_dump、dd、Logなどで変数を出力し確認するのが簡単でしょう。 また「以前Xdebugを導入したけど動かなかった」とか「導入が面倒」など、億劫になっている方もいらっしゃるのではないでしょうか。(私もでした・・)
このアップグレードガイドは、Xdebug 2から3への変更点と、同様のことを行うようにセットアップを再構成する方法を詳しく説明します。 新しいコンセプト # 各機能の有効化設定があったXdebug 2とは異なり、Xdebug 3では、Xdebugを特定の モード にします。これは xdebug.mode で設定できます。 この設定と xdebug.start_with_request を組み合わせる方法が、Xdebugの機能を有効にし、 機能をアクティブにするタイミングを設定する新しい方法になります。 この背景には、Xdebugが実際に必要な機能のオーバーヘッドのみを持つことが重要であると考えているからです。 たとえば、Profiling と Step Debugging の両方を同時にアクティブにすることは意味がありません。 xdebug.mode を使用してモードを設定する以外に、 X
目的 docker環境の生成は、過去に作った環境をコピーすれば躓くことはほぼないが、初めて作る場合は、予期しないエラーに躓き、非常に時間を食うことが多い。 よって、筆者がテンプレート化している環境のうち、今回は、wordpress環境をさくっと作るテンプレートを紹介する。 PHP8, apache, MariaDB, XdebugによるDocker環境の作成で汎用的なlampのDocker環境の作り方を記載したが、wordpressも同じ構成で簡単に構築することができる。 めちゃくちゃ使える有料級の記事なので、是非ともいいねをお願いしたい。 好評であれば、laravelやその他のフレームワークのDocker環境も随時紹介していこうと思う。 バージョン情報 手元の作業PC: Apple M1 Pro Docker: 20.10.21 イメージ: php:8.1-apache イメージ: ma
phpのステップ実行等に使うxdebugを試す。 Xdebug は、デバッグや開発を支援する PHP 用の拡張モジュールです。 これには、IDE で使用するためのシングルステップデバッガが含まれています。 PHP の var_dump() 関数をアップグレードします。 通知、警告、エラー、例外のスタックトレースを追加します。 すべての関数呼び出しと変数のディスクへの割り当てを記録する機能を備えています。 プロファイラが含まれています。 PHPUnit で使用するためのコードカバレッジ機能を提供します。 https://xdebug.org/ 2020年11月15日にメジャーバージョンが上がり3.0.0が公開された。 2系から3系で一部設定が変わったところもあるのでそちらもみていく。 インストール centos8では↓でインストールできる
IDEs AppCode CLion DataGrip DataSpell Fleet GoLand IntelliJ IDEA PhpStorm PyCharm RustRover Rider RubyMine WebStorm Plugins & Services Big Data Tools Code With Me Quality Assurance JetBrains Platform Scala Toolbox App Writerside JetBrains AI Grazie Team Tools Datalore Space TeamCity Upsource YouTrack Hub Qodana .NET & Visual Studio .NET Tools ReSharper C++ Languages & Frameworks Kotlin Ktor MPS Am
株式会社ホワイトプラス・コアシステム開発グループマネージャーのinoco氏は、Xdebugの便利なポイントを4つ紹介しました。 PHPで書かれたコードの読み方に興味がある方向けのLTinoco氏:それでは始めたいと思います。「ちょこっとラクするPHPコード読解術」というLTをします。井上と申します。ホワイトプラスという会社でエンジニアリングマネージャーをやっています。 今回のLTですが、PHPで書かれたコードの読み方に興味がある方向けのトークになっていて、おそらく、主に初心者の方向けになるかなと思っています。 (スライドを示して)アジェンダはこんな感じです。前提ですが、私の場合、静的解析に興味があって、その仕様を理解する目的でコードを読むことが多いです。そういった背景がある中での経験に基づいて話すので、若干知識や考え方が偏っている可能性がありますが、そのあたりは差し引いて聞いてもらえればと
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く