#はじめに
PHP7.3のセキュリティサポートが2021年12月6日に終了しPHP8.1 にバージョンアップしたので備忘録としまとめます。
##インストール手順(詰まった箇所も含む)
$ php -v
PHP 7.3.20 (cli) (built: Jul 22 2020 10:03:35) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v3.0.4, Copyright (c) 2002-2021, by Derick Rethans
現在のバージョンはPHP7.3です。
バージョンはdockerfileで管理してるので修正します。
Dockerfile
FROM php:8.1.1-apache //ここでバージョン指定。
RUN apt-get update \
&& apt-get -y install --no-install-recommends vim wget lsb-release libicu-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev libzip-dev zlib1g-dev unzip \
&& docker-php-ext-install pdo_mysql mysqli intl zip \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
RUN ln -s /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled
以下略、、
###コンパイル時にエラーが発生しました。
configure: error: unrecognized options: --with-freetype-dir, --with-jpeg-dir
--with-freetype-dir, --with-jpeg-dirを推奨していないようなので、各々の-dirを削除します。
--with-freetypeと--with-jpegに修正します。
Dockerfile
FROM php:8.1.1-apache //ここでバージョン指定。
RUN apt-get update \
&& apt-get -y install --no-install-recommends vim wget lsb-release libicu-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev libzip-dev zlib1g-dev unzip \
&& docker-php-ext-install pdo_mysql mysqli intl zip \
&& docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
RUN ln -s /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled
以下略、、
再度、dockerコンパイルします。
$ php -v
Failed loading /usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so: /usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so: cannot open shared object file: No such file or directory
PHP 8.1.1 (cli) (built: Dec 21 2021 19:41:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
PHP8.1.1のインストールは完了しましたが、xdebugが動作していないです。
php.iniの修正を修正します。
php.ini
[xdebug]
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so //ここを20210902へ変更します。
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20210902/xdebug.so
xdebug.client_host = host.docker.internal
再度、コンパイルします。
$ php -v
PHP 8.1.1 (cli) (built: Dec 21 2021 19:41:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.1, Copyright (c) Zend Technologies
with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
無事にバージョンアップが完了しました。