質問を書いていたら、自己解決しました。。。。そういうのって、なくなーい?
せっかくなので公開します。
#内容
CentOS7でyumを使用してphp-mysqlのパッケージをインストールすると、エラーメッセージが表示されてインストールできませんインストール方法を教えて下さい。
#環境
VPS:ConoHa
OS:CentOS Linux release 7.6.1810
#教えて欲しい事 その1
エラーメッセージの中に解決方法が書いてあると思うのですが、どのように解釈し、どのような操作をしたらインストールできるのか教えて下さい
#インストール時のエラーメッセージ
# yum install php-mysql
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* epel: ftp.jaist.ac.jp
* epel-debuginfo: ftp.jaist.ac.jp
* epel-source: ftp.jaist.ac.jp
* extras: ftp-srv2.kddilabs.jp
* remi-safe: ftp.riken.jp
* updates: ftp-srv2.kddilabs.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-mysql.x86_64 0:5.4.16-46.el7 を インストール
--> 依存性の処理をしています:
php-pdo(x86-64) = 5.4.16-46.el7 のパッケージ: php-mysql-5.4.16-46.el7.x86_64
--> 依存性解決を終了しました。
エラー: パッケージ : php-mysql-5.4.16-46.el7.x86_64 (base)
要求 : php-pdo(x86-64) = 5.4.16-46.el7
インストール : php-pdo-7.1.27-1.el7.remi.x86_64 (@remi-php71)
php-pdo(x86-64) = 7.1.27-1.el7.remi
利用可能 : php-pdo-5.4.16-46.el7.x86_64 (base)
php-pdo(x86-64) = 5.4.16-46.el7
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest
# yum install php-mysql --skip-broken
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* epel: ftp.jaist.ac.jp
* epel-debuginfo: ftp.jaist.ac.jp
* epel-source: ftp.jaist.ac.jp
* extras: ftp-srv2.kddilabs.jp
* remi-safe: ftp.riken.jp
* updates: ftp-srv2.kddilabs.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-mysql.x86_64 0:5.4.16-46.el7 を インストール
--> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-46.el7 のパッケージ: php-mysql-5.4.16-46.el7.x86_64
パッケージは依存関係に問題があるため、飛ばします:
php-mysql-5.4.16-46.el7.x86_64 (base から)
#解決策を模索している中で行なった事
# yum provides php-pdo
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp-srv2.kddilabs.jp
* epel: ftp.jaist.ac.jp
* epel-debuginfo: ftp.jaist.ac.jp
* epel-source: ftp.jaist.ac.jp
* extras: ftp-srv2.kddilabs.jp
* remi-safe: ftp.riken.jp
* updates: ftp-srv2.kddilabs.jp
php-pdo-5.4.16-46.el7.x86_64 : A database access abstraction module for PHP applications
リポジトリー : base
php-pdo-7.1.27-1.el7.remi.x86_64 : A database access abstraction module for PHP applications
リポジトリー : @remi-php71
#教えて欲しい事 その2
エラーメッセージについての解釈は以下の通りでしょうか?
要求:php-pdo(x86-64) = 5.4.16-46.el7
自分なりの解釈
php-pdo(x86-64)が必要で、そのバージョンは 5.4.16-46.el7 です
↓
この解釈で合っているでしょうか?
インストール : php-pdo-7.1.27-1.el7.remi.x86_64 (@remi-php71)
php-pdo(x86-64) = 7.1.27-1.el7.remi
自分なりの解釈
現在、php-pdo-7.1.27-1.el7.remi.x86_64がインストールされていますよ
↓
この解釈で合っているでしょうか?
利用可能 : php-pdo-5.4.16-46.el7.x86_64 (base)
php-pdo(x86-64) = 5.4.16-46.el7
自分なりの解釈
php-pdo-5.4.16-46.el7.x86_64をインストールすると競合が発生しませんよ
↓
この解釈で合っているでしょうか?
#教えて欲しい事 その3
この質問を書いていてなんとなく分かってきました。この解釈および操作で良いでしょうか?
解釈
yumでphp-mysql
をインストールするにはphp-pdo 5.4.16
が必要です。
操作概要
yumでインストールするには上記のパッケージが必要ですが、現在インストールされているphpのバージョンからすると、php-mysqlについては、yumで通常の方法(yum install php-mysql
)でインストールはできない。インストール方法は、バージョンを指定してのインストールとなる。
操作
以下のコマンドを実行
yum install --enablerepo=remi,remi-php71 php-mysql
↓結果
Running transaction
インストール中 : php-mysqlnd-7.1.27-1.el7.remi.x86_64
1/1
検証中 : php-mysqlnd-7.1.27-1.el7.remi.x86_64
1/1
インストール:
php-mysqlnd.x86_64 0:7.1.27-1.el7.remi
完了しました!
...あ。なんかできました...