PHP8.2は簡単には入れられない
標準リポジトリを探してもPHP8.2は見つからない。
なんなら8.1もない。8.0はあるけど面白くない。
# apt search php8.2
ソート中... 完了
全文検索... 完了
前提パッケージを導入
PHPをインストールするためには色々と前提パッケージを入れる必要がある。
build-essential
gccやmakeなど、開発に必要なビルドツールをまとめてインストールできる。
もしかしたら最初から入ってるかもしれない。
# apt -y install build-essential
apt-transport-https
aptでhttp通信ができるようにするパッケージ。デフォルトだとhttp通信ができないようである。最新のaptだと対応しているらしいので要らないかもしれないらしい。
# apt -y install apt-transport-https
ca-certificates
https通信するためのCA証明書。これがないとhttps通信に失敗するらしい。
これも最初から入ってるかも。
# apt -y install ca-certificates
リポジトリ追加(失敗)
PPA(非公式なリポジトリ)であるオンドレイ氏のリポジトリを追加して、インストールする方法。
ですが、失敗したので飛ばしても良いです。Ubuntuならこれでいけるっぽいです。
software-properties-common
後述するadd-apt-repository
を使えるようにする。
# apt install -y software-properties-common
リポジトリ追加
非公式なものを使うときは、ご自身の責任のもと使うようにしましょう。
私は、ネットで調べて有名そうなものを使うようにしています。
オンドレイ氏のリポジトリを追加しようとしたが、エラー!
# add-apt-repository ppa:ondrej/php
Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 95, in <module>
sp = SoftwareProperties(options=options)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
self.reload_sourceslist()
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/bullseye
調べてみたところ、これはUbuntu用のPPAのようで、RaspbianOSに対応したものではないらしい。
※ただし、無理やり使えるようにする方法もあるみたい。
https://qiita.com/hnw/items/734f82bee26a40269c1b
OSのバージョンは以下のコマンドで調べることができる。
lsb_release
は最初から入ってそうだが、なければapt -y install lsb-release
でインストールする。
# lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
リポジトリ追加(成功)
suryPPAリポジトリを使う方法。
GPGキーをダウンロード
wgetコマンドで、GPGキーをダウンロードします。
GPGキーの詳細は割愛しますが、これで認証することで、suryリポジトリをパッケージリストに追加できるようになります。
wgetが使えない場合は、apt install -y wget
でインストールします。
# wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
パッケージリストを追加
echoコマンドで追加。
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
パッケージリストを更新する
# apt update
パッケージ確認
php8.2関連のパッケージが追加されたことを確認できた。
# apt search php8.2
ソート中... 完了
全文検索... 完了
libapache2-mod-php8.2/bullseye 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf
server-side, HTML-embedded scripting language (Apache 2 module)
libapache2-mod-php8.2-dbgsym/bullseye 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf
debug symbols for libapache2-mod-php8.2
libphp8.2-embed/bullseye 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf
HTML-embedded scripting language (Embedded SAPI library)
〜〜〜省略〜〜〜
PHP関連パッケージをインストール
PHP本体
# apt install -y php8.2
phpをインストールすると標準でphp-cliなど、いくつかのパッケージがインストールされる。
dpkg -l
コマンドでインストールされているパッケージを確認できる。RedHat系OSでいうところのrpmコマンドのようなもの。
# dpkg -l | grep php
ii libapache2-mod-php8.2 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf server-side, HTML-embedded scripting language (Apache 2 module)
ii php-common 2:93+0~20221211.45+debian11~1.gbpdb4dcc all Common files for PHP packages
ii php8.2 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d all server-side, HTML-embedded scripting language (metapackage)
ii php8.2-cli 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf command-line interpreter for the PHP scripting language
ii php8.2-common 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf documentation, examples and common module for PHP
ii php8.2-opcache 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf Zend OpCache module for PHP
ii php8.2-readline 8.2.0-1+0~20221208.9+debian11~1.gbp03fa1d armhf readline module for PHP
その他に必要なパッケージがあれば別途インストールが必要。
php-mysql
PHPでMySQLやMariaDBを取り扱うためのパッケージ。
# apt install -y php8.2-mysql
おわり
とりあえずここまで。