2007年8月21日火曜日

SQLiteのパーミッション問題

スズキです。

PHP-PDO-SQLiteアプリケーションを
Windowsで開発して、Linuxに移した時の
パーミッション問題です。

普通に移しただけでは、SELECT系は機能しますが、
更新系(INSERT/UPDATE/DELETE)が機能しません。
調べると、「書き込みできない問題」だったので、
SQLiteのデータファイルに書き込み権限を付与しました。

それでも、今度は、「データベースがオープンできない」エラーが出て
問題は解決しません。

で、どうすればいいかというと、
データファイルが置いてあるフォルダにも書き込み権限を付与すると、
更新系も機能するようになります。

ちなみに、下記は、DBエラーをキャッチするためのコードです。

--------
if (PDO_ERR_NONE != $dbh->errorCode()){
  $error = $dbh->errorInfo();
  error_log($error[0]);
  error_log($error[1]);
  error_log($error[2]);
}
--------
http://search.net-newbie.com/php/function.pdo-errorinfo.html

上記でエラーを確認しながら、解決しました。

PHP、またちょっと賢くなったぞ。

--
blog: http://suz-lab.blogspot.com/

2 コメント:

とおりすがり さんのコメント...

>データファイルが置いてあるフォルダにも書き込み権限を付与すると、

すごく救われました。ありがとうございました!

suz-lab さんのコメント...

お役に立てて、何よりです。