XAMPP なしで、Windows の Visual Studio Code を使って PHP デバッグしてみる
XAMPPを入れれば簡単に実現できますが、タイトルとおり「Webサーバなしで」あえてローカル PHP だけインストールして Visual Studio Code(以下 VSCode)で PHP を実行&デバッグしてみます。※XAMPPが嫌いな訳ではない
お約束の微妙にはまる点があったので自分メモ用に残しておきます。
動作環境
- Windows 8/10
- Visual Studio Code 1.43.1 ※インストール済みであること
-
PHP 7.4.4 (VC15 x64 Thread Safe / php-7.4.4-Win32-vc15-x64.zip)
PHP のインストール
https://windows.php.net/download#php-7.4 から Thread Safe 版をダウンロードして任意のディレクトリに展開しておく。(ここでは C:\php7 にインストールしてみてます)
Windowsの環境変数に C:\php7
を追加して黒い画面で php -v
を叩いてみる。
と…下記が表示されなければ、いいのだが…
PHP Warning: 'vcruntime140.dll' 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0
表示された場合は、「Visual Studio 2019 の Microsoft Visual C++ 再頒布可能パッケージ」をインストールすると解消します。
ダウンロード先は、ここ からですが判りづらい。下までスクロールして「その他のツールとフレームワーク」をクリックすると、ランタイムライブラリのダウンロードが項目あります。
PHPデバッグツール「XDebug」のインストール
PHPのバージョンに合わせた形で XDebugがあるようですのでそのインストール手順。
手順1
C:\PHP7
の下にある php.ini-production
を php.ini
にコピーする。
手順2
黒い画面で以下のコマンドを実行する。クリップボードに結果がコピーされます。
C:\> php -i | clip
https://xdebug.org/wizard サイトに結果を貼り付け "Analyse my phpinfo output" ボタンを押下する。
上記の Instructions に従い xdebug の DLL をダウンロードし C:/php7/ext 以下に配置する。
手順3
php.ini
の先頭に下記をコピペする。上記の Instructions で指示されている zend_extension
パスは指定されたとおりに記述すると間違っているので、DLL を配置したパスをちゃんと記述する。
zend_extension = C:\php7\ext\php_xdebug-2.9.3-7.4-vc15-x86_64.dll
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
黒い窓で php -v
と実行してみて下記の Warning(warn なのに Failed …) が表示されていなければOK。
PHP Warning: Failed to load C:/php/ext/php_xdebug-2.9.3-7.4-vc15-x86_64.dll, 指定されたファイルが見つかりません。
VSCode拡張機能 PHP Debug のインストール
左バーの拡張機能で 「PHP Debug」、「PHP IntelliSense」をインストールする。
デバックしてみる
適当な phpプログラムを表示し。左バーの実行を押下し "To customize Run and Debug create a launch.json" のリンクを踏む。プルダウンから「PHP」を選択する。
launch.json
は、以下の様に1行追加する。"name": "Listen for XDebug" は消しても問題ない。
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000,
"runtimeExecutable": "C:\\php7\\php.exe"
}
デバッガーを起動しつつブレイクポイントを設定し "Listen for XDebug"を実行する。
うまくいった^^
参考サイト
Author And Source
この問題について(XAMPP なしで、Windows の Visual Studio Code を使って PHP デバッグしてみる), 我々は、より多くの情報をここで見つけました https://qiita.com/murachi1208/items/ac78bbfa055187c7e338著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .