Home » PHP, Programing » symfony+MAMPでdoctrine:buildできない時の対策

Check     このエントリーをはてなブックマークに追加

久々にsymfonyネタ。

MACのLAMP環境である、MAMP上でsymfonyを動かしていて、symfonyコマンドでdoctrineのタスクを実行する際、DB接続を必要とする場合、下記のようなエラーになることがある。

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in /Applications/MAMP/bin/php5.3/symfony-1.4.4/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 470

PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory

UNIXソケットを使用した、mysql接続に失敗しているため、database.ymlにてソケットの位置を指定してあげれば上手くいく。
[code]
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=sample;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock'
port: 8889
username: sample
password: sample
[/code]
「dbname」の指定のあとに、「unix_socket」を指定してあげればうまくいった。

ちょっとはまったので参考までに。

Check     このエントリーをはてなブックマークに追加
タグ: ,