AWS EC2 Amazon LinuxへphpMyAdminをインストールして設定までは余裕なんですが、「mysqli|mysql 拡張がありません。」って表示されて動かなくて。念のためインストール方法と対処法をまとめておきます。

phpMyAdminのインストール

phpMyAdminをインストールするために、ディレクトリを作成します。

$ mkdir -p /var/www/html/tool

作成したディレクトリに移動します。

$ cd /var/www/html/tool

このディレクトリにphpMyAdminをダウンロードして、解答します。

最新バージョンをphpMyAdmin公式サイトのダウンロードページで確認して、自分は4.5.0.2をダウンロード、解答したので、以下の通りです。

$ wget https://files.phpmyadmin.net/phpMyAdmin/4.5.0.2/phpMyAdmin-4.5.0.2-all-languages.tar.gz
$ tar -xzvf phpMyAdmin-4.5.0.2-all-languages.tar.gz

このままではディレクトリ名が長いので、ディレクトリ名を変更します。

$ mv phpMyAdmin-4.5.0.2-all-languages phpMyAdmin

設定ファイルを準備します。

$ cd phpMyAdmin
$ cp config.sample.inc.php config.inc.php

設定ファイルを編集する場合は

$ vi config.inc.php

これで動く…はずですが、AWS EC2(Amazon Linux)の場合、エラーがでるんですよね。

mysqli|mysql 拡張がありません。

適切なPHP拡張モジュールがインストールされてないぞってことです。インストールされているモジュールを確認するには…

$ php -m

調べた限りでは、コマンドを打って出てきたリストの中に、以下の2つが入ってないとphpMyAdminは動かない。

  1. PDO
  2. pdo_mysql

普通はphp-mysqlをインストールで完了…

このPDOとpdo_mysqlを入れるには、Linuxサーバならphp-mysqlをインストールすれば解決ってことなので…ルート権限で下記コマンドを打つと解決するはずだが、Amazon Linuxの場合、これではpdo_mysqlがインストールされないので、打つ必要はないが、念のため記述しておく。

※ EC2でrootに切り替えると$じゃなくて#だけど、見やすいように$記述しています。

$ yum -y install php-mysql

サーバ専門じゃないので詳しくは分からないが、Amazon Linuxの場合は作法が違うようだ。

ちなみに、自分はPDOは既にインストール済みだった。

おそらくphp56-pdoをインストールしたからだろう。もしPDOがインストール済みPHPモジュール一覧に出てきていなかったら試すとよい。

$ yum -y install php56-pdo

で、自分はpdo_mysqlだけインストールできればよかったので、pdo_mysqlだけをインストールする方法を調べてみた。

AWS EC2 Amazon Linuxにpdo_mysqlをインストールする方法

で、たどり着いたのが「Installing pdo_mysql on Amazon EC2 with PHP 5.5」というフォーラム。

Install the package php55-mysqlnd. I believe this will provide mysql support to PDO.

Edit: For PHP 5.6 support, the package is php56-mysqlnd.

php55-mysqlnd入れりゃいいのさ!ってこと。

自分の場合はphp5.6なので、php56-mysqlndを入れりゃいいってこと。

これもroot権限で。

$ yum -y install php56-mysqlnd

これでpdo_mysqlがインストールされたので、root権限で再起動して確認。

$ service httpd restart

無事に動きました。