phpmyadminをローカルPC(MacBook)に入れてみた
ローカルの開発環境がphp + mysqlという人で、
phpmyadminをインストールしたい人向けの記事である。
筆者は元MAMPユーザ(phpmyadminもついてくる)だが、今回自分でphpmyadminを導入したのでその手順をメモ
ローカルの開発環境(php + apache + mysql)の構築手順は、以下の記事にて紹介している。
phpmyadminのインストール
phpmyadminのインストールは、Homebrewで行う
#phpmyadminをインストール
brew install phpmyadmin
そしたら自動的にphpmyadminがインストールされる。
インストール先は/usr/local/share/phpmyadminなので確認してみる
ls -ld /usr/local/share/phpmyadmin

シンボリックリンクが貼ってある。その先にインストールされたphpadminの正体がある。
インストール完了。
httpd.conf、php.ini、my.cnf設定変更
phpmyadminはインストールしただけでは動いてくれない。
下記3つの設定を少々書き換える必要がある。
- http.conf(apacheの設定ファイル)
- php.ini(phpの設定ファイル)
- my.cnf(mysqlの設定ファイル)
httpd.confの編集
httpd.confの場所は以下(homebrewでインストールしたapacheの場合)
/usr/local/etc/httpd/httpd.conf
こいつに以下の内容を追記する
#httpd.conf
Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
簡単に説明するとphpmyadminへのエイリアスとアクセスの許可設定が書いてある。
php.iniの編集
php.iniの場所は以下(homebrewでインストールしたphp7.3の場合)
/usr/local/etc/php/7.3/php.ini
こいつの「mysql_default_socket」って書いてあるところ(最初は何も書かれてない)に、「/tmp/mysql.sock」を指定してあげる
#php.ini
...
pdo_mysql.default_socket = /tmp/mysql.sock
...
mysql.default_socket = /tmp/mysql.sock
...
mysqli.default_socket = /tmp/mysql.sock
...
my.cnfの編集
my.cnfの場所は以下(homebrewでインストールしたmysqlの場合)
/usr/local/etc/my.cnf
これだけはなぜか「conf」じゃくて「cnf」なんだな〜
こいつに以下を追記する
#my.cnf
default_authentication_plugin=mysql_native_password

詳細は割愛するが、上記の記述は、下記のエラーを回避するためらしい
mysql8.0からパスワードのなんちゃらが変わって下記のようなエラーが起きる
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
設定完了
上記の設定を全て完了し、各種サービスを再起動(brew services restart サービス名)して、「http://localhost:8080/phpmyadmin/」とブラウザでアクセス。

んで、mysql_secure_instllationで登録したrootユーザでログインすれば

無事ログインできた
以上でMacBookのphpローカル開発環境構築は終了。