自分はすぐ忘れるのでメモ。
SQLiteをPerl CGIでDBD経由でアクセスしたときのハマリ。
SQLiteでDBが開けないエラーが起きていた。
DBファイルそのものの書き込み権限は666とか777にしてたけど、ディレクトリにも書き込み権下が必要だった。ディレクトリに、apacheでも書き込めるよう設定したら、無事書けるようになった。
あと、原因追及に時間がかかったのが、RaiseErrorを1にしてもエラーが報告されないという現象。
当初、
{
RaiseError => 1,
PrintError => 1,
AutoCommit => 1,
}
という設定にしていたら、DBに書けないのにエラーが報告されないし止まらない。
{
RaiseError => 1,
PrintError => 0,
AutoCommit => 1,
}
としなければいけなかった。PrintErrorは、警告を出して【止まらない】」というのがキモらしい。