Mac OS 10.5でPHPからMySQLに接続

macにMySQLも入ったので、
phpから接続しようとしてみた。
ところが、
Can’t connect to local MySQL server through socket
と言うエラーになってしまう。
どうやら、

MySQLサーバーで使っているUNIXソケットとクライアントソフトで使っているUNIXソケットのパスが違う

という理由らしい。
で、調べてみるとMySQLのソケットは、
/tmp/mysql.sock
php側のソケットは、
/var/mysql/mysql.sock
なので、このソケットを合わせてやれば良い。
僕はphpの方を変更した。
解決法1
phpで以下のようにソケットを指定。
mysql_connect(“localhost:/var/lib/mysql/mysql.sock”,”mysql”,”passwd”)
解決法2
ターミナルで以下のコマンド
sudo cp /etc/php.ini.default /etc/php.ini
コピーしたphp.iniを適当なテキストエディタで開き、
mysql.default_socket =
を見つけて、
下記のように修正する
mysql.default_socket = /tmp/mysql.sock
そしてapacheを再起動する
sudo apachectl restart
上記どちらの方法でも出来たが、
今後の作業がしやすいかと思い自分は解決法2を選択した。
参考サイト
Mac OS XでPHPからMySQLに接続成功
「Can’t connect to local MySQL server through socket」エラーについて

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です