「広告」

php 7.4 -> php 8.0 へのアップグレード(php-pfm)

「広告」
記事内に広告が含まれています。
「広告」

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 へのアップグレードが完了しました。

タイトルとURLをコピーしました