WSL環境に PHP8.2 を導入する
この手順はApache2.4を導入してから改めて行った方が安全です。前後を逆に実行するといつの間にかphp_modのバージョンが先祖帰りしていたため。
インストール手順
- software-properties-commonをインストールする
$ sudo apt install software-properties-common
- リポジトリの追加とモジュールの更新
$ sudo apt-add-repository ppa:ondrej/php $ sudo apt update $ sudo apt upgrade
- 念のためPHP8.2があるか確認
$ sudo apt show php8.2 Package: php8.2 Version: 8.2.8-1+ubuntu22.04.1+deb.sury.org+1 Priority: optional Section: php Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org> Installed-Size: 67.6 kB Provides: php Depends: libapache2-mod-php8.2 | php8.2-fpm | php8.2-cgi, php8.2-common Download-Size: 32.2 kB APT-Sources: https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages Description: server-side, HTML-embedded scripting language (metapackage) This package is a metapackage that, when installed, guarantees that you have at least one of the four server-side versions of the PHP interpreter installed. Removing this package won't remove PHP from your system, however it may remove other packages that depend on this one. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
- PHP8.2本体をインストールする
$ sudo apt install php8.2
- 導入バージョンを確認する
$ php -v PHP 8.2.8 (cli) (built: Jul 8 2023 07:10:21) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.8, Copyright (c) Zend Technologies with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies
- 追加モジュールをインストールする
$ sudo apt install php8.2-bcmath $ sudo apt install php8.2-curl $ sudo apt install php8.2-gd $ sudo apt install php8.2-mcrypt $ sudo apt install php8.2-mysql $ sudo apt install php8.2-mbstring $ sudo apt install php8.2-xml $ sudo apt install php8.2-zip
本番環境に導入されているモジュールはすべてインストールしておくべきである - 追加されているモジュールの一覧を表示させる
$ php -m
Composerをインストールする
- https://getcomposer.org/installerからインストーラーをダウンロードする。このサイトにアクセスするだけでダウンロードが開始される。
ダウンロードされたファイルのパスはWSLから見ると /mnt/c/users/[Windowsアカウント名]/Downloads/installer となる
- ダウンロードしたファイルを作業環境へコピーする
$ cp /mnt/c/users/takan/Downloads/installer ./composer-setup.php
- インストーラーを起動する
$ php ./composer-setup.php All settings correct for using Composer Downloading... Composer (version 2.5.8) successfully installed to: /home/tts/composer.phar Use it: php composer.phar
- composer.pharが作成されたら、これをcomposerコマンドとしてシステムに登録する
$ sudo mv composer.phar /usr/local/bin/composer
- composerを起動しバージョンを確認する
$ composer -V
- composer自体を最新バージョンにする
$ composer self-update You are already using the latest available Composer version 2.5.8 (stable channel).
この時点では最新版がダウンロードされている - インストーラーを削除する
$ rm ./composer-setup.php
環境設定(apache向け)
- apache上でPHPモジュールを有効化する
$ sudo a2enmod php8.2
- apache用PHPモジュールの環境設定を行う
$ sudo vi /etc/php/8.2/apache2/php.ini
以下のエントリを探して修正する
max_input_var = 2000 memory_limit = 2048M error_reporting = E_ALL display_errors = On display_startup_errors = On html_errors = On post_max_size = 1024M default_charset = "UTF-8" upload_max_filesize = 1024M [Date] date.timezone = Asia/Tokyo [mysqlnd] mysqlnd.collect_statistics = On mysqlnd.collect_memory_statistics = On [Session] session.gc_maxlifetime = 86400 [mbstring] mbstring.language = Japanese mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII mbstring.strict_detection = Off mbstring.regex_stack_limit = 100000 mbstring.regex_retry_limit = 1000000
- apacheを再起動する
$ sudo systemctl restart apache2
設定ファイルを修正したら必ずapacheの再起動が必要である