今年の初めくらいからtermuxのPHPは7から8に上がったようですね!
何か不具合でも?
WordPressを動かすには少々、問題ありで。
termux はダウングレードできないですよね?
先日、termux上でNGINXとPHP-FPMの設定記事を書いたときに気がついたんですが、termuxのPHPって7から8になってPHP7はもうPKGがなく入れられませんでした。
TermuxでNGINX+php-fpm+mariadbを動かす具体的な設定例
Link
で、一つ前の記事でPHP7を暫定配布していたのですが、ビルドしたのでその過程とビルドしたPHP7のdepパッケージをどうやって入れるのかネタにしようかと思います。
ビルドしたPHP7のダウンロード先
GITHUBに、ビルドしておきました。arm64bitのCPUを使っている方向けです。32bit版はありません。
Github: termux-php7
LINK
インストールの仕方は簡単に記載しておきます。
(1) 一旦、PHP8関連を入れておく
とりあえず一旦、アップデートしておきます。アップデートできない人は1つ前の記事を見てください。
$ pkg update $$ upgrade
その後、php8やphp-fpm、php-apacheなど入れておきます。
$ pkg install php php-fpm php-apache
今入っているバージョンを再確認しておきます。
$ dpkg -l | grep php
2021/06/01現在ですと以下が最新です。
$ dpkg -l | grep php | cut -b 4-35
php 8.0.6
php-apache 8.0.6
php-fpm 8.0.6
PHP8関連だけ消す
例えば、上の3つPHP8関連だけ消したい場合は以下のようにします。
$ apt purge php php-apache php-fpm
ちゃんと消えたか、1つ上のコマンドをタイプして確認してみましょう。
PHP7をダウンロードしてインストール
php-pgsqlは今回入れないので、消しておきます。
$ wget https://github.com/take-i/termux-php7/raw/master/php7.4.12-aarch64-deb.zip
$ unzip php7.4.12-aarch64-deb.zip
$ cd php7.4.12-aarch64-deb.deb/
$ rm php-pgsql*
$ dpkg -i ./php* ./libicu_67.1_aarch64.deb
以下のようになっていればOKです。
$ dpkg -l | egrep "php|libicu"
ii libicu 67.1 aarch64
ii php 7.4.12 aarch64
ii php-apache 7.4.12 aarch64
ii php-fpm 7.4.12 aarch64
apache や、nginxの設定をしてみてphpinfo()関数が動作することを確認しておきました。libicuだけ最新の環境から下がっていますので、何かこれ関連で入れられないパッケージが出るかもしれません。何かあれば教えてください。
PHP7をアップデートしないよう設定
今入れたのがアップデートされないよう設定しておきます。
$ apt-mark hold libicu php php-apache php-fpm
確認は以下で。
$ apt-mark showhold
libicu
php
php-apache
php-fpm
ホールドを解除したい場合は、apt-mark unhold <package-name> で解除できます。
まとめ
今回、なんとなくわかったのは以下となります。
・ビルドするときは、dockerイメージをubuntuに実機に作ってあれこれする
・これはまた次回に紹介
・termux独自のパッケージ管理のバージョンなどについては未調査
・とりあえず、PHP7はapacheでもnginxでも使えるようになった
あとがき
WordPressなんかを動かすときは、まだPHP7が安定しています。この前、PHP8で動かしてみたんですが対応していないプラグインなどもあり、またWP-CLIというコマンドラインのツールも警告を出します。ということで、PHP8はもう少し、様子見となりました。termuxでPHP7とか勉強している人もいると思うので今回のネタは少しは需要があるかもしれません。やっぱりビルドするって、面倒ですしね。いつか、その過程も紹介していきたいです。
著者にメッセージ
間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。