11月 29
propel.iniでmysqlを使用することを記述し
symfony propel-build-schema
って打ったら
[propel-schema-reverse]there was an error building XML from metadata:could not find driver
と出てきた。
かなり悩んだ。困っている人もいると思うので解決方法を残しておく。
まず、ここでいうdriverというのはPDO(PHP Data Objects)のこと。
phpでmysqlに接続しにいくdriverってことですね。windowsのodbcみたいなものかー
なので、phpにpdoとpdo_mysqlっていうライブラリが無いと動かない。
peclで簡単にインストールできる。
まずpdo
pecl install pdo
そして、pdo_mysql
pecl install pdo_mysql
この2つのインストールがエラーで落ちることもあるが、ググッってがんばる。
たいていyumでインストールすれば治る系ばかり。
インストールしたらphp.iniに
extension=pdo.so extension=pdo_mysql.so
の2行を足す。
かならず、↑の順番で書かないといけない。
(私は、順番がだめということに気づかず2時間以上も悩んだ・・・)
さて、ここまで来たらいけるかとおもいきや、
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
ソケットがないだと!?pdo_mysqlのソケットの指定が「/var/lib/mysql/mysql.sock」になっている。
なんとかこのソケットの向き先を本来の向き先に変えたいのだが方法が見つからない・・・
仕方なくシンボリックリンクで逃げることに。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
ようやく実行
symfony propel-build-schema
いけました。これでやっと開発できる。
関連の記事




