PHP - PHP 8.0 → 8.2 - PHP アップグレード

 クラウディア
1. 概要
2. アンインストール
3. インストール
4. 設定

1. 概要

 「PHP 7.4」を「PHP 8.0」へ変更したときに倣って。  「PHP 8.0」をアンインストールしてから、「PHP 8.2」をインストールすることにします。

2. アンインストール

 「ports」で「make deinstall clean」すると依存するものが残って、明示的に削除するのに苦労します。  よって、「pkg」で「delete」していきます。  いきなり、「-y」オプションをつける手もありますが、依存するもので、削除されても支障ない、あるいは、後で明示的にインストールす必要があることを確認しつつ、削除していきます。

pkg delete php80
 とここで。

Updating database digests format: 100%
No packages matched for pattern 'php80'

Checking integrity... done (0 conflicting)
1 packages requested for removal: 0 locked, 1 missing
 と表示されてびっくり。  「phpinfo」では、「PHP Version 8.0.30」と表示されているのですが。

php --version
 で見ると。

PHP 8.1.27 (cli) (built: Feb 21 2024 11:59:34) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
 なんと、ここれは、中身は「PHP 8.1」。  そりゃぁ、「laravel」の動きもおかしくなるわけだ。  更新を怠った、つけが回ってきているわけです。  で。

pkg delete php81
 今度は。

Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 31 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        php80-composer: 2.6.6
        php80-ctype: 8.0.30
        php80-curl: 8.0.30
        php80-dom: 8.0.30
        php80-extensions: 1.1
        php80-fileinfo: 8.0.30
        php80-filter: 8.0.30
        php80-gd: 8.0.30
        php80-gettext: 8.0.30
        php80-iconv: 8.0.30
        php80-intl: 8.0.30_1
        php80-mbstring: 8.0.30
        php80-mysqli: 8.0.30
        php80-opcache: 8.0.30
        php80-pdo: 8.0.30
        php80-pdo_sqlite: 8.0.30
        php80-pecl-memcached: 3.2.0
        php80-pgsql: 8.0.30
        php80-phar: 8.0.30
        php80-posix: 8.0.30
        php80-session: 8.0.30
        php80-simplexml: 8.0.30
        php80-sqlite3: 8.0.30
        php80-tokenizer: 8.0.30
        php80-xml: 8.0.30
        php80-xmlreader: 8.0.30
        php80-xmlwriter: 8.0.30
        php80-zlib: 8.0.30
        php81: 8.1.27_1
        phpmailer6: 6.8.0
        smarty3-php80: 3.1.48

Number of packages to be removed: 31

The operation will free 43 MiB.

Proceed with deinstalling packages? [y/N]:
 と表示されます。  「php81」に「php80」のモジュールが、くっついていたのね。  上記をメモして、y で答えて削除します。  おおかたの依存するモジュールは、削除されるはずでして。  後は。

pkg delete mod_php80
 これは、単独でしたので、いちいちはりつけませんが。  y で答えて削除します。

3. インストール


cd /usr/ports/lang/php82
make
make install

cd /usr/ports/lang/php82-extensions
make
make install

cd /usr/ports/www/mod_php82
make
make install

cd /usr/ports/devel/php-composer
make
make install

cd /usr/ports/www/smarty3
make
make install
 「phpmailer」は、「laravel」の中のものを使っているから、大丈夫なのかな?

4. 設定


vi /usr/local/etc/php.ini
 下記を記述します。  (行番号は、だいぶメンテナンスしているので、、デフォルトとは、ずれていると思います)

include_path = ".:/usr/local/share/smarty3-php82:/usr/local/share/phpmailer"
 ここで。

service apache24 configtest
 問題がないことを確認して。

service apache24 restart
 「phpinfo」を確認して、「PHP 8.2」で動作していることが確認できました。
ハイスピードプランそれがだいじWi-Fiマイニングベース