0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

技術ブログ|PHPデバッグが変わる!xDebugのセットアップと活用法ガイド

Posted at

note.:社員インタビュー (5).png

はじめに

ホスト環境とは別の環境で動作しているプログラムをデバッグすることをリモートデバッグといい、xDebugも基本的にはそれに当たります。

本記事はリモートデバッグをCentOS10+PHP8.2にて行う手順を示します。

前提

-CentOS Stream 10(仮想マシンとして立ち上げる)
-PHP8.2

VMWareのダウンロードとインストール

https://support.broadcom.com/web/ecx#.

上記アドレスにアクセスし、アカウントを作成した後
Software→Mainframe Software→My Downloadをクリックします。

①.png

下記画像の Free Software Downloads available HEREをクリックします。

②.png

VMWare workstation Proをクリックします。

③.png

OSを選択します。

④.png

ダウンロードボタンをクリックします。

⑤.png

インストールは別段問題なければNext->Next->Nextで大丈夫です。

CentOSのイメージをダウンロードする

⑥.png

仮想マシンを作成する

メニュー[新規仮想マシンの作成]を押下します。

⑦.png

‘構成のタイプ’を’標準’にチェックを入れ次へを押下します。

⑧.png

‘インストーラディスクイメージファイル’から作成するOSのイメージを選択し、ハードディスク容量等を適宜設定し作成を完了します。

※GUIでのインストールを行う場合はグラフィックスメモリを64MB以上に、メモリを2GB以上に設定してください。

⑨.png

‘マシンのパワーオン’を押下します。

⑩.png

Install CentOS Stream 10 にカーソルを合わせてEnterキーを押下します。

⑪.png

日本語に対応しているので、ガイドに従ってインストールをしていきます。

⑫.png

今回はPHPを動かすだけなので最小構成でインストールします。

⑬.png

一通り下準備する

リポジトリの有効化
dnf config-manager --set-enabled crb
dnf install httpd://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-10.rpm
dnf config-manager --set-enabled remi
yum update

…中略(AMPインストール)

xDebugをインストールする

yum install -y php-pecl-xdebug

php -v で確認 ※phpinfo()でも可

インストールされていれば以下が出力される
Zend Engine v...
with Xdebug v...
⑭.png

ip addrコマンドでゲストOSのアドレスを確認

⑮.png

設定ファイルを編集する

vi /etc/php.ini

以下を追記

zend_extention=xdebug.so
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.discover_client_host=true
xdebug.client_port=9003
xdebug.client_host=xxx.xx.xx.xx ←ip addrで確認したIPアドレス

IDEの設定を行う(VScode)

PHPの拡張機能をインストールしておく

⑯.png

launch.jsonを作成する

サイドバーのデバッグを押下→launch.jsonの作成

⑰.png

下記を入力

  "name": "Listen for Xdebug",
 "type": "php",
  "request": "launch",
  "port": 9003,            ←前述のphp.iniのポート設定と合わせる
  "pathMappings": {
   "/var/www/html": "${workspaceFolder}"
  }
}

⑱.png

うまくいくと、以下のようにブレークポイントで停止します。

⑲.png

おわりに

普段のデバッグから、500エラーなどでログすら吐かれない時まで役に立つと思います!

安心安全のホワイト高還元SESに転職を考えている方へ

新しい挑戦に踏み出すことは、人生において重要な一歩です。
転職活動は自分自身を知り、成長する貴重な機会でもあり、夢や成長を追求するためには必要な要素の一つになるかと思います。
どんな選択をされるにせよ、その決断があなたに取って素晴らしい未来を切り開くことを願っています!
グラディートと一緒に誇れるエンジニアを目指しましょう!

■『株式会社グラディート』では受託開発・SES・ブランディングデザイン・事業コンサルティングなどを事業として行う都内のIT企業です。現在、不遇な待遇で困っているエンジニアさんは、ぜひ一度グラディートに相談してみてね!(年収査定・SESへの転職相談も承っております!)

株式会社グラディート採用情報はこちら▼
https://en-gage.net/gradito/

株式会社グラディート公式サイトはこちら▼
https://www.gradito.co.jp/

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?