PHP + MySQL ソケットのパス

ローカルに立ち上げている PHP + MySQL 練習用サーバ(Mac OS 10.4.6)を LAN 内の他のマシンから参照すると

Can't connect to local MySQL server through socket

なるエラーが出て接続できません。これは、MySQL サーバのソケットとクライアントが参照するソケットのパスが違う時に起こるらしい。

対処法は、PHP から MySQL を呼び出す所を

mysql_connect ( "localhost:/tmp/mysql.sock", "USERNAME", "PASSWORD" )

とするか、MySQL の設定を書き換えるか、php.ini を書き換える等があるみたい。

と言う事で、私は php.ini を書き換える事にしました。方法は、

sudo cp /etc/php.ini.default /etc/php.ini

デフォルトのファイルを複製。

sudo vi /etc/php.ini

vi で開き、

/mysql.default_socket

で検索して、

mysql.default_socket = /tmp/mysql.sock

該当する所にパスを追加して、Apache を再起動。

以上、こんな感じでした。

コメントを残す

メールアドレスが公開されることはありません。