2008年12月 のアーカイブ

mac portsのmysql5とPHPの接続でエラー

2008年12月28日 日曜日

久しぶりのエントリですが、さらっと。

CakePHPをインストールしてみたんですが、
MySQLがつながらない。

[code]
Warning (2): mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) [CORE/cake/libs/model/datasources/dbo/dbo_mysql.php, line 370]
[/code]

なんていうエラーが出ます。
ぐぐってもあんまり出てこなかったんですが、
要はmysql5につなげるためのsockファイルをPHPが見つけられないとのこと。
で、このsockファイルを指定するのはphp.ini。
Macのphp.iniは、/etc/php.ini.defaultを/etc/php.iniにリネームして使うようですね。

mac portsで入れたmysql5のsockファイルは、
/opt/local/var/run/mysql5/mysqld.sock
にあるらしいです。

ということで、以下のように設定。
[code]
$ sudo cp /etc/php.ini.default /etc/php.ini
$ sudo vi /etc/php.ini
$ diff /etc/php.ini.default /etc/php.ini
760c760
< mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
---
> mysql.default_socket =
$ sudo apachectl restart
[/code]

これで問題なくmysql5へのアクセスができましたとさ。