Skip to content

Couldn’t locate driver named mysql

Couldn’t locate driver named mysql published on Couldn’t locate driver named mysql へのコメントはまだありません

新しいサーバー(VPS)にsymfonyを入れている。

schema.ymlを書き換えてsymfony doctrine:insert-sqlを実行したら以下のエラー。

$ symfony doctrine:insert-sql
>> doctrine  creating tables
  Couldn't locate driver named mysql

まぁメッセージの通りドライバーが足りないんだろう。以下のコマンドで確認できる。

php /usr/share/pear/data/symfony/bin/check_configuration.php

結論から言うと、php-mysqlとphp-pdoをインストールすれば解決。

環境:CentOS 5.5

PDO

PDO published on PDO へのコメントはまだありません

■PHPからMySQLにアクセス

最近PHPを使う時はいつもsymfonyを使ってるので、DBに接続したりSQLを投げるコードを直接書くことはなかったんだけど、つい最近、ほんのお遊びプログラムを作る時に、わざわざsymfonyを使うまでもないと思ったので、プレーンなPHPで書くことにした。

普通のPHPを使うのなんて久しぶりなので、最初はmysql_connectとかの昔ながらのやり方をやってたんだけど、それだとさすがに芸がないので他のやり方をすることにした。

■PDO

どうやら調べてみたら、ここ最近ではPDOを使う人が多いみたいなので自分もそうしてみることにした。CodeZineにPDOの記事が載ってたのでそれを見つつやってみる。PDOにしろ何にしろ、そもそも人間の労力を減らすための物なので、そんなに難しいわけがない。

・文字コード

で、次に引っかかったのが定番の文字コード。色々見てると例の

set names utf8

ってのを実行してる例が多かったけど、これって筋が悪いというかあまり美しくないって個人的には思う。で、調べている途中にこんなページが見付かった。

Shift JISの場合、set namesで文字コードを指定しても、PDOが文字コードを意識した作りになってないから(?)、SQLインジェクションが起こる可能性があるらしい。

Continue reading PDO

symfonyチュートリアル

symfonyチュートリアル published on symfonyチュートリアル へのコメントはまだありません

新規プロジェクトにsymfonyを使うことに決めてから約3週間。今ではすっかり慣れたので、これからPHPのプロジェクトがある時は基本的にはこれを使おうと思う。

この3週間で経験したエラーやtipsなどをこれからぼちぼちと書いていこうと思う。

最初はsymfonyのチュートリアルをやっていて出たエラー。

[PropelException]
[wrapped: sqlite extension not loaded [User Info: Array]]
stack trace
* at ()
in SF_ROOT_DIR/lib/symfony/plugins/sfPropelPlugin/lib/vendor/propel/Propel.php line 489 ...
486.             try {
487.                 $con = Creole::getConnection($dsn);
488.             } catch (SQLException $e) {
489.                 throw new PropelException($e);
490.             }
491.             self::$connectionMap[$name] = $con;
492.         }

Continue reading symfonyチュートリアル