久々に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 Tweet
Pingback: OpenPNE を Mac とヘテムルにインストールする際に発生した問題解決メモ | ウェブル()
Pingback: FuelPHPをはじめてみたら思った以上につまりました | のぶろぐ()