CentOS 7 + PHP7.2 + Laravel 5.8で、Class ‘PDO’ not foundエラー

CentOS 7 + PHP7.2 + Laravel 5.8で、Class 'PDO' not foundエラー になりました。

php-pdoをインストールしていたけど、とDockerFileを調べると、原因は、php72-php と php-pdoを混在してインストールしていました。

CentOS 7にPHP7.2をインストールする方法は、2つあります。

リポジトリパッケージ名設定ファイル
remi-php72php
php-*
/etc/php.ini
remiphp72-php
php72-php-*
/etc/opt/remi/php72/php.ini

まず、remiリポジトリをインストールします。

$ yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm $ yum install -y epel-release $ yum -y update $ yum clean all $ yum install -y httpd

方法1:remi-php72から、php-*をインストール

yum install -y --enablerepo=remi-php72 \ php \ php-common \ php-cli \ php-mbstring \ 〜省略〜 php-pdo \ php-mysqlnd \ php-pecl-mysql

設定ファイルは、/etc/php.ini、/etc/php.d/* です。

/etc/php.ini /etc/php-zts.d/* /etc/php.d/*

方法2:remiから、php72-php-*をインストール

yum install -y --enablerepo=remi \ php72-php \ php72-php-common \ php72-php-cli \ php72-php-mbstring \ 〜省略〜 php72-php-pdo \ php72-php-mysqlnd \ php72-php-pecl-mysql

設定ファイルは、/etc/opt/remi/php72/php.ini、/etc/opt/remi/php72/php.d/* です。

/etc/opt/remi `-- php72 |-- X11 |-- opt |-- php.d |-- php.ini |-- pki |-- pm |-- skel |-- sysconfig |-- xdg `-- xinetd.d

NG例:php72-php、php-pdoの混在インストール

php72-php、php-pdoを混在してインストールすると、Class 'PDO' not found になりました。

yum install -y --enablerepo=remi,remi-php72 \ php72-php \ php72-php-common \ php72-php-cli \ php-mbstring \ 〜省略〜 php-pdo \ php-mysqlnd \ php-pecl-mysql

設定ファイルは、/etc/opt/remi/php72/*、/etc/php.d/*、の2箇所にできていました。

/etc/opt/remi/php72/* /etc/php.d/*
タイトルとURLをコピーしました