Mac OS 10.5でPHPからMySQLに接続
2008年4月25日

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」エラーについて

投稿者 o_hiroyuki : 2008年4月25日 00:11

トラックバック

このエントリーのトラックバックURL:
http://www.o-hiro.net/cgi-bin/mt4/mt-tb.cgi/392

コメント

コメントしてください




保存しますか?


※迷惑コメント防止のためURLを書き込むとコメントは保留になります
(書式を変更するような一部のHTMLタグを使うことができます)