mac で apache2 + php-5.3 + mysql を動かす
PHPを動かして満足してたけど、MySQLの設定をしていないことに気がついた。
普通に動くかな、と思ったけど、MySQLはMacPortsでセットアップしたので、
全然動かず。
エラーログから、Google先生の力を借りたところ、単純な作業で解決できました。
結論から言うと、php.iniをちょっと書き換えるだけ。
MacPortsでインストールしたmysql5の場合、/opt/local/var/run/mysql5/mysql.sock
にあるので、そこの箇所を以下のように書き換えた。
完璧だ。
普通に動くかな、と思ったけど、MySQLはMacPortsでセットアップしたので、
全然動かず。
エラーログから、Google先生の力を借りたところ、単純な作業で解決できました。
結論から言うと、php.iniをちょっと書き換えるだけ。
MacPortsでインストールしたmysql5の場合、/opt/local/var/run/mysql5/mysql.sock
にあるので、そこの箇所を以下のように書き換えた。
satoshi-mac-mini% diff -cw /etc/php.ini /etc/php.ini.defaultんで、sudo apachectl restart で無事動くことを確認。
*** /etc/php.ini 2010-05-16 23:43:55.000000000 +0900
--- /etc/php.ini.default 2010-02-11 19:32:50.000000000 +0900
***************
*** 1060,1067 ****
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
! ;pdo_mysql.default_socket=/var/mysql/mysql.sock
! pdo_mysql.default_socket=/opt/local/var/run/mysql5/mysqld.sock
[Phar]
; http://php.net/phar.readonly
--- 1060,1066 ----
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
! pdo_mysql.default_socket=/var/mysql/mysql.sock
[Phar]
; http://php.net/phar.readonly
***************
*** 1214,1221 ****
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
! ;mysql.default_socket = /var/mysql/mysql.sock
! mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-host
--- 1213,1219 ----
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysql.default-socket
! mysql.default_socket = /var/mysql/mysql.sock
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysql.default-host
***************
*** 1274,1281 ****
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
! ;mysqli.default_socket = /var/mysql/mysql.sock
! mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-host
--- 1272,1278 ----
; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
! mysqli.default_socket = /var/mysql/mysql.sock
; Default host for mysql_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-host
完璧だ。