macでphpmyadminの設定に詰まった話
マックでローカル開発環境を構築のため、phpmyadminをいれたところ、
config.ini.phpを作成してログインするための設定はしたが、
#2002 MySQLサーバにログインできません
と出て詰まってしまった。
調べたところ、phpmyadminではなく、phpの拡張モジュールのソケットの設定が必要らしい。
MySQLの環境は、ログインしてstatusコマンドを打ち込めばみることができる。
mysql> status -------------- mysql5 Ver 14.14 Distrib 5.1.68, for apple-darwin12.2.0 (i386) using readline 6.2 Connection id: 11 Current database: Current user: otameshi61@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.1.68 Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /opt/local/var/run/mysql5/mysqld.sock Uptime: 11 hours 21 min 43 sec Threads: 1 Questions: 47 Slow queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries per second avg: 0.1 --------------
このUNIX socketのパスをphpの設定ファイルに書いてPHPからMySQLを使えるようにしてやればよい。
phpの設定ファイルは/etcにphp.ini.defaultというファイルがあるので、
cp php.ini.default php.ini
とし、php.iniファイルを作成して、
mysql.default_socket
mysqli.default_socket
にパスを通す。
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock
これで、PHPからMySQLが使えるようになりphpmyadminもきちんと動くようになった。
(XAMPPを使うとここら辺の設定もすんでるだっけ...?)