Windows11にPHP8.3とComposerをscoop経由でインストール

バッチ処理もPHPで記述しようとWindowsにPhpをインストールしたときの覚書。

環境: Windows 11 Pro 23H2, Php 8.3.11


1. Php8.3とcomposerをインストール

Scoopを使ってインストールする。
PS:> scoop search php
PS:> scoop install php

確認。
PS:> php --version

PHP 8.3.11 (cli) (built: Aug 27 2024 21:28:59) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.3.11, Copyright (c) Zend Technologies

Composerもscoopにあったのでインストールする。
PS:> scoop search composer
PS:> scoop install composer

確認。
PS:> composer --version

Composer version 2.7.8 2024-08-22 15:28:36
PHP version 8.3.11 (C:\Users\suganuma\scoop\apps\php\current\php.exe)
Run the "diagnose" command to get more detailed diagnostics output.

内部文字エンコーディングを確認。
PS:> php -r "echo mb_internal_encoding();"

UTF-8でなければphp.iniの「default_charset」と「internal_encoding」を確認する。

default_charset = "UTF-8"
;internal_encoding =

php.iniの場所を確認。
PS:> php --ini

Configuration File (php.ini) Path:
Loaded Configuration File:         (none)
Scan for additional .ini files in: C:\Users\suganuma\scoop\apps\php\current\cli;C:\Users\suganuma\scoop\apps\php\current\cli\conf.d;
Additional .ini files parsed:      C:\Users\suganuma\scoop\apps\php\current\cli\php.ini

php.iniを編集。
timezoneは開発サーバーと合わせる。
PS:> cd C:\Users\suganuma\scoop\apps\php\current\cli\
PS:> notepad php.ini

;date.timezone =
date.timezone = "Asia/Tokyo"

timezoneの確認。
PS:> php -r 'echo date("Y/m/d H:i");'



2. プロジェクトをgot cloneしてcomposerを実行

GitLabのプロジェクトをcloneしてみる。
PS:>  git clone git@gitlab.com:hoge/import-hospital-public-data.git

composerを実行。
PS:> cd import-hospital-public-data
PS:> composer install

エラー

  The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you
  can disable this error, at your own risk, by setting the 'disable-tls' option to true.

読み込んでいるphp.iniを確認。
PS:> php --ini

Configuration File (php.ini) Path:
Loaded Configuration File:         (none)
Scan for additional .ini files in: C:\Users\suganuma\scoop\apps\php\current\cli;C:\Users\suganuma\scoop\apps\php\current\cli\conf.d;
Additional .ini files parsed:      C:\Users\suganuma\scoop\apps\php\current\cli\php.ini

「C:\Users\suganuma\scoop\apps\php\current\cli\php.ini」をエディタで開いて変更する。
他のextensionも有効にする。

extension=curl
extension=fileinfo
extension=gd
extension=mbstring
extension=openssl
extension=zip

composerを実行。
PS:> composer install

無事完了。

これでPHPStormから直接実行できるようになったので、作業が捗るかもしれない。


3. xdebugをインストール

検索する。
PS:> scoop search xdebug

extrasバケットにあるので追加して確認。
PS:> scoop bucket add extras
PS:> scoop info php-xdebug

インストール。
PS:> scoop install php-xdebug

Xdebug is already enabled if PHP was installed through scoop!
Otherwise add 'C:\Users\suganuma\scoop\apps\php-xdebug\current\php_xdebug.dll' to your php.ini

本当に読み込まれているかiniファイルを確認。
PS:> php --ini

Configuration File (php.ini) Path:
Loaded Configuration File:         (none)
Scan for additional .ini files in: C:\Users\suganuma\scoop\apps\php\current\cli;C:\Users\suganuma\scoop\apps\php\current\cli\conf.d;
Additional .ini files parsed:      C:\Users\suganuma\scoop\apps\php\current\cli\php.ini,
C:\Users\suganuma\scoop\apps\php\current\cli\conf.d\xdebug.ini



【関連記事】