2017年02月21日

phpMyAdminをインストールしたときに「php-tidy」「libtidy-0.99.so」が原因でエラーが表示されたときの対処方法

PHPの開発環境構築で、データーベースサーバーを作成しているときに「phpMyAdmin」をインストールしようとしたときにエラーが表示されてときの対処方法を手記として書いてみました。

phpmyadmin-logo.jpg


先日購入した「いちばんやさしいPHPの教本」の三章「データーベース」のMySQLを扱うところで、自分の開発環境も本の内容に合わせたいと思い、各種インストールをしていました。



購入した本ではWindowsにXAMPPを利用した方法なのですが、自分はLinuxを使った方法で確認したい思いがあってデーターベース構築に必要なパッケージをインストールすることにしました。

実際に環境構築を行ってみると大変面倒くさいです。例えば本ではXAMPPを使用していますが、自分の開発環境では個別に(CentOS7の標準リポジトリではMySQLが無いため)MariaDBや、phpMyAdminをインストールすることに。しかしphpMyAdminをインストールしているときに下記のようなエラーメッセージが出力されました。

Error : Package : php-tidy-7.0.16-1.e17.remi.x86_64(remi-php70)
Requires : libtidy-0.99.so.0()(64bit)
You could try using --skip-broken to work arooud the problem
You could try runnnig : rpm -Va --nofiles --nodigest


うーん(´・ω・`)英語で何書いているのかサッパリ分からない。
Linux歴一年にも満たない自分には、エラーが出るたびに辛いものがあります。

そこでとりあえずphpMyAdminのインストール時に発生するエラーをネットで調べてみると、どうも「該当パッケージが存在しない」ということがわかりました。実際にリポジトリにファイルが存在しないのか下記コマンドにて確認してみます。

yum --enablerepo=remi list php-tidy*
yum --enablerepo=remi list libtidy*


確認の結果、「php-tidy-7.0.16-1.e17.remi.x86_64」は存在するけど「libtidy-0.99.so.0()(64bit)」がリポジトリに存在しないことがわかりました。どうやらエラーの原因は「libtidy-0.99.so.0()(64bit)」が存在しないことにあるようです。

そこで困ったらとにかくネットで調べてみることが解決する手段として有効です。
「libtidy-0.99.so」で検索してみると、下記サイトがヒットしました。

参照先:【初心者級】libtidy-0.99.so.0がない! centos7のphp7でphpMyadmin入れようとしたら(略
http://qiita.com/sikozon/items/251fe32d26be18ad783f


まさに自分が探し求めていたモノ、それでした。こちらのサイトで「libtidy-0.99.so」が無い場合の解決方法が明記されていました。該当先の解決方法を簡単にいうと「無ければ、有るところから持ってくれ良い!」とのこと。そのやり方についても内容を記載してくれていました。

ホント大変助かりました。
ホント助かったんですけど…こちらのサイトの方法が「すごく面倒くさい」です(;´Д`)

「無ければ、有るところから持ってくれ良い!」という解決方法が分かったので、もっと簡潔に「libtidy-0.99.so」を持ってこれる方法がないかと再びネットで検索してみたら今度は下記のサイトが目につきました。

参照先:RPM resource libtidy-0.99.so.0()(64bit)
http://rpmfind.net/linux/rpm2html/search.php?query=libtidy-0.99.so.0()(64bit)


上記のサイトは、該当するパッケージが存在する各種ディストリビューションを示しています。ここの一覧に載っているディストリビューション名を眺めていると「Extras Packages for Enterprise Linux」と見覚えのある文字を発見。

phpmyadmin-20170221_01.jpg

「Extras Packages for Enterprise Linux?あ、EPELのことか!!」

以前にPHPの最新版をインストールしたときに、「remiリポジトリを登録する前にEPELリポジトリを登録する必要がある」ということがネットに記載されていたので既にリポジトリ登録していました。

参照先:CentOS7.1 64bitのyumリポジトリにEPELを追加
http://www.kakiro-web.com/linux/epel-install.html


またそこのサイトでは常時使用しないように設定ファイル(/etc/yum.repos.d/epel.repo)で「enable=0」と無効化しています。今回はEPELリポジトリの中に上記サイトで明記されている「libtidy-0.99」パッケージが存在するか事前に確認するために、「enablerepo=epel」を指定して下記コマンドで確認。

yum --enablerepo=epel list libtidy*


結果「libtidy.x86_64」なるパッケージが存在することが確認出来ました。
ただ問題は「libtidy.x86_64」と「libtidy-0.99.so」が同じものなんだろうか?というのが個人的疑問なのですが、確認する方法がないのでここまできたらとりあえず入れて確認するしかありません。

まずはEPELリポジトリにあった「libtidy.x86_64」を開発環境に下記コマンドでインストールします。

yum --enablerepo=epel install libtidy


インストール処理が正常終了したことを確認したら、再びphpMyAdminをインストールしてみます。

yum --enablerepo=remi,remi-php70 install phpMyAdmin


無事phpMyAdminが正常にインストールされたことが確認できました!
これで本の内容を先に進めることが出来ます。

【まとめ】
今回phpMyAdminのインストールでエラーメッセージが出力されたわけですが、その対処方法がネットで1件のみだけでした。そちらのサイトの方でも明記されていますが『「libtidy-0.99.so.0 ない」などの検索をするもクリティカルなものに出会えずでした。』とあり、お陰で個人的には大助かりでした。なので、少しでも解決方法があったほうが良いよねということもあり、先のサイトさんに敬意を表すためにも、私の方でも駄文ながら解決方法を明記させて頂きました。そんな方々のお役に立てればなりよりです。

それにしても同じようなエラーで困っている人は、他にも大勢いそうな気がするんですけどねえ…。

以上。


posted by 除菌さん at 19:54 | Comment(0) | 雑記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: