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 GroupZend 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:36PHP 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, youcan 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=curlextension=fileinfoextension=gdextension=mbstringextension=opensslextension=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