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