PHP 7.1から7.2へのバージョンアップ (1)

外出禁止令の間にそっとメンテナンスします。。。。

#cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

環境はCentOS 7です。

PHPのバージョンアップ

要は一度消去して再インストールすることになります。。。

# php -v
PHP 7.1.30 (cli) (built: May 28 2019 12:49:01) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

現在7.1なのでこれをいったん7.2にします。
拡張モジュールの確認

# yum list installed | grep php
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
php.x86_64 7.1.30-1.el7.remi @remi-php71
...

php.iniをバックアップしておきます。

cp /etc/php.ini /etc/php.ini_old

remiレポジトリを更新します

# yum install epel-release
読み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink | 8.8 kB 00:00
* base: mirrors.cat.net
* epel: nrt.edge.kernel.org
* extras: mirrors.cat.net
* remi-safe: ftp.riken.jp
* updates: mirrors.cat.net
...
更新:
epel-release.noarch 0:7-12
完了しました!

レポジトリを確認します。

# ls /etc/yum.repos.d/ | grep remi-
remi-glpi91.repo
remi-glpi92.repo
...

削除します
# yum remove php-*

削除が終了すると
# php -v
-bash: /usr/bin/php: そのようなファイルやディレクトリはありません

消えてる。。。

モジュールと一緒にインストールします

# yum -y install --enablerepo=remi,remi-php72 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql

# php -v
PHP 7.2.31 (cli) (built: May 12 2020 09:23:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

# yum list installed | grep php
php.x86_64 7.2.31-1.el7.remi @remi-php72
...

これでいったん確認します。

サイトを開こうとすると

Class 'PDO' not found

とエラーが!!

php.ini へ次を追加してモジュールを有効にする必要がありました。

extension=pdo.so

参考サイト:
https://forum.matomo.org/t/you-need-to-enable-the-pdo-and-pdo-mysql-extensions-in-your-php-ini-file/261


コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です