質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

Q&A

解決済

1回答

3609閲覧

Centos7でyumを使用してphp-mysqlパッケージのインストール時のエラーについて

kaicho2015to18

総合スコア15

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

yum

yumコマンドは、UNIX系OSのRPMパッケージのインストールなどを行うためのプログラムのことです。

0グッド

0クリップ

投稿2019/03/09 05:58

編集2019/03/09 06:05

質問を書いていたら、自己解決しました。。。。そういうのって、なくなーい?
せっかくなので公開します。

#内容
CentOS7でyumを使用してphp-mysqlのパッケージをインストールすると、エラーメッセージが表示されてインストールできませんインストール方法を教えて下さい。

#環境

VPS:ConoHa

OS:CentOS Linux release 7.6.1810

#インストール時のエラーメッセージ
yum実行時のエラーメッセージ

# 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実行時のエラーメッセージ(--skip-broken使用時)

# 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 ``` #教えて欲しい事 その1 エラーメッセージの中に解決方法が書いてあると思うのですが、どのように解釈し、どのような操作をしたらインストールできるのか教えて下さい #教えて欲しい事 その2 エラーメッセージについての解釈は以下の通りでしょうか? **【質問2ー1】エラーメッセージの解釈** ``` 要求:php-pdo(x86-64) = 5.4.16-46.el7 ``` **自分なりの解釈** php-pdo(x86-64)が必要で、そのバージョンは 5.4.16-46.el7 です ↓ この解釈で合っているでしょうか? **【質問2ー2】エラーメッセージの解釈** ``` インストール : 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がインストールされていますよ ↓ この解釈で合っているでしょうか? **【質問2ー3】エラーメッセージの解釈** ``` 利用可能 : 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`)でインストールはできない。インストール方法は、バージョンを指定してのインストールとなる。 **操作** 以下のコマンドを実行 phpをインストールした時に使ったコマンドを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 完了しました! ``` ...あ。なんかできました...

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

解決方法は正しいですが、解釈は間違っています。

yumでphp-mysqlをインストールするにはphp-pdo 5.4.16が必要です。

では無く、

  • yumでphp-mysqlをインストールするには、現在インストールされているPHPをインストールした時に使用したのと同じリポジトリからphp-mysqlをインストールする必要がある。

です。

  • もっと言うと、php-mysql以外のエクステンションも同様の動きをするので、yumでphp関係のインストールをする際は常にremi,remi-php71を指定する必要がある。

最初にエラーが出ているのは、remi,remi-php71を使ってphpをインストールしているのに、php-mysqlをデフォルト(base)のリポジトリからインストールしようとしたためです。

仮にPHPをbaseからインストールしていた場合は最初の操作でエラーが出ずにphp-mysqlをインストール可能だったはずです。(baseにphp7系は存在しないのでphp5系になりますが。)

投稿2019/03/09 08:02

tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaicho2015to18

2019/03/09 08:17

解答ありがとうございます! よく考えれば、同じリポジトリからセットアップしないとバージョンが揃わないですもんね。 悩みのループに陥ってしまい、当然の事が見えなくなっていました。 ベストアンサーとさせて頂きました 感謝です。ありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問