VS code から PHP実行

カテゴリー: 手順書,

VScode にパッケージ入れるとPHP実行できるみたいな記事をみかけたので試してみました。簡単そうに見えたけどちょこちょこやらなきゃいけないことがあったので記しておきます

VScode のパッケージ PHP Server

VSCode の左アイコン郡にテトリスみたいなのがあるので、そこから「PHP Server」をインストール。

下記から任意のPHPをダウンロードしておきます。
PHP: Downloads https://www.php.net/downloads.php

展開して「C:\php\」などに配置。
次に環境変数を追加します

Windows10 ってホント使いやすくなりました

環境変数ウィンドウを開くと、上にユーザー環境変数、下にシステム環境変数と出てくると思います。上のユーザー環境変数で「Path」を編集、なければ新規追加します。

環境変数の編集画面

「C:\php」を追加しました、VScodeを再起動。これで一応、VScodeで動かしたいファイルを開き、右クリックメニューの「PHP Serve: Serve Project」を選択すると、デフォルトブラウザに「http://localhost:3000/」が渡されます。

PHP Serve が右クリックメニューを追加してます

php.ini

簡単な動作確認なら以上でいいんですが、WEBだと必須なものがOFFになっていますので、php.ini を作って設定していきます。

phpフォルダにある「php.ini-development」をコピーして「php.ini」を作成。「;extension=bz2」で検索すると設定項目がかたまっていますので、いくつかコメントを外し有効化します。今回は以下を有効にしてみました。

extension=curl
extension=mbstring
extension=openssl

cURLや file_get_contents()

HTTPSだと証明書が無くエラーになりますのでまた設定。

https://curl.haxx.se/ca/cacert.pem をダウンロードし、「C:\php\extras\ssl」に配置します。続いて php.ini の [curl] を以下のように改変

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo=C:\php\extras\ssl\cacert.pem

VScodeを再起動し動作確認。動けばバンザイ。

PHP Debug

便利なアイツも入れます

「PHP Server」と同様にVScode上からインストール。ターミナルでPHPのバージョンとスレッドセーフを確認「php -v」。

PHP 7.4.6 (cli) (built: May 12 2020 11:38:54) ( ZTS Visual C++ 2017 x64 )

今回はこんな感じになってましたので、バージョン7.4。ZTSなのでTSの Xdebug 「PHP 7.4 VC15 TS (64 bit)」を下記よりダウンロードしました。

https://xdebug.org/download

php_xdebug-2.9.5-7.4-vc15-x86_64.dll という1ファイルなので、これを「C:\php\ext」に配置します。そして php.ini に設定

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000
zend_extension = C:\php\ext\php_xdebug-2.9.5-7.4-vc15-x86_64.dll

「Launch currently open script」の右にある歯車アイコンで launch.json を開き、こんな感じにする

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000,
            "stopOnEntry": true
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}
Launch currently open script を選択したところ。

あとはVScodeのデバッガー実行で動きます


関連記事

関連記事はまだありません

手順書」のBookmark
「手順書」記事一覧