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」で動作していることが確認できました。
|
|