php 7.4.x から、php 8.0.xへのアップグレードです。
ソースインストールによる方法です。
ポイント
image-magicに留意。インストールしなおしです。
PHP ダウンロード / セットアップ
# wget https://www.php.net/distributions/php-8.0.28.tar.gz
↑php 8.0.x をダウンロードします。
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"
↑環境変数のセットアップ
# tar xzvf php-8.0.28.tar.gz # cd php-8.0.28/ # ./configure --with-apxs2=/usr/local/apache2/bin/apxs -with-mysqli --with-pdo-mysql --enable-mbstring --enable-pcntl --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-gd --with-jpeg --with-webp --with-xpm --with-zlib --with-zip --with-snmp --enable-sockets --with-freetype --enable-cgi --with-curl --enable-intl --with-gettext --with-openssl --enable-bcmath --enable-exif # make # make install
↑php 8.0 のインストールをします。
image-magic エラー
# php -v PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so (/usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so.so (/usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so (/usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so.so (/usr/local/lib/php/extensions/no-debug-zts-20200930/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 PHP 8.0.28 (cli) Copyright (c) The PHP Group Zend Engine v4.0.28, Copyright (c) Zend Technologies
↑php -v とやると、エラーが出ます。
# vim /usr/local/lib/php.ini extension=imagick.so ↓ ;extension=imagick.so
↑一時的に、image-magicを無効にします。
# php -v PHP 8.0.28 (cli)( ZTS ) Copyright (c) The PHP Group Zend Engine v4.0.28, Copyright (c) Zend Technologies
↑エラーは、出なくなりました。
# find / -name imagick.so /usr/local/lib/php/extensions/no-debug-zts-20190902/imagick.so
↑ちなみに、image-magicのライブラリは、ここにあります。
# systemctl restart php-fpm # systemctl status php-fpm ● php-fpm.service - LSB: starts php-fpm Loaded: loaded (/etc/rc.d/init.d/php-fpm; bad; vendor preset: disabled) Active: active (running) Docs: man:systemd-sysv-generator(8)
↑php-fpmのほうを再起動します。
↑Wordpressの画面では、image magic の警告が出ています。
image-magic 再インストール
# git clone https://github.com/Imagick/imagick Cloning into 'imagick'... remote: Enumerating objects: 8180, done. remote: Counting objects: 100% (544/544), done. remote: Compressing objects: 100% (175/175), done. remote: Total 8180 (delta 403), reused 422 (delta 367), pack-reused 7636 Receiving objects: 100% (8180/8180), 3.72 MiB | 0 bytes/s, done. Resolving deltas: 100% (5746/5746), done. # cd imagick # phpize && ./configure # make install Installing shared extensions: /usr/local/lib/php/extensions/no-debug-zts-20200930/ Installing header files: /usr/local/include/php/
↑image-magicが再インストールされました。
# systemctl restart php-fpm # php -v PHP 8.0.28 (cli) Copyright (c) The PHP Group Zend Engine v4.0.28, Copyright (c) Zend Technologies
↑警告は出なくなりました。
これで、php 8.0.x へのアップグレードが完了しました。