(メモ) Docker 上の Almalinux8 や CentOS7 で PHP8.0 を動作させるまで

概要

Docker 上の Almalinux8 や CentOS7 で PHP8.0 を動作させるまでに躓いた点を走り書き程度にメモしておきます。

メモ

少しカスタマイズして起動しようとしたら起動しなかった。

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=container error was

もう一回やり直したらできた。たまたまかもしれない。

参考

rpm dev.mysql.com key

rpm で MySQL Community をインストールしようとしてPGPキーのせいでコケたので。

# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-{年数}

基本是でOK。ただし3/3時点で RPM-GPG-KEY-mysql-2023 がないので RPM-GPG-KEY-mysql-2022 で実行。

参考

No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed

[Www Mmm dd hh:ii:ss.xxxxxx yyyy] [proxy:error] [pid 105] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed
[Www Mmm dd hh:ii:ss.xxxxxx yyyy] [proxy_fcgi:error] [pid 105] [client 172.20.0.1:46956] AH01079: failed to make connection to backend: httpd-UDS

Docker の Almalinux8 + Apache + PHP8.0 環境にしたところ、このエラーが表示されて PHP が実行されない現象に遭遇。画面では Apache の Service Unavailable (503) が表示される状態。

RUN mkdir -p /run/php-fpm
RUN chown apache:apache /run/php-fpm

この辺りを加えてみたが変化なし。

# PHP
/usr/sbin/php-fpm &

エントリポイントのシェルスクリプトで PHP-FPM を実行したところすんなり動いた。

参考

Docker で PHP のバージョンの切替

これで行けるのでは、と思った(できた)。

PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0

PHP Deprecated:  PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0

このようなログが記録されていた。

;mbstring.internal_encoding = "UTF-8"
default_charset= = "UTF-8"

パラメータのキーを書き換えて対処。

参考

Xdebug のパラメータキーが違うと怒られる

このドキュメントを見て置換。

CentOS7 + PHP8のときにPHPのソースが見えてしまう

php.conf

# mod_php options
#<IfModule  mod_php7.c>
<IfModule  mod_php.c>

たったこれだけの差でPHPが動作しなかった……。

参考

これで php.conf の中のバージョンに関する数字の記述では?と感づくことができた。

参考(にならなかった)

find

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。