phpを使用して最初のsqliteプログラムをローカルホストで動作させようとしていますが、動作させることができません。私のマシンにはSqlite3をインストールしましたが、すべてC /C++で正常に動作します。
作成したデータベースをローカルホストに移動し、dbファイルへの読み取り/書き込み権限を付与し、phpを介してそれらにアクセスしようとすると、次のエラーメッセージが表示されます。
ファイルが暗号化されているか、データベースではありません
これが私が使用するサンプルコードです:
<?php
$dbhandle = sqlite_open("m_test1.db", 0666, $error);
if (!$dbhandle) die ($error);
$stm = "CREATE TABLE Friends(Id integer PRIMARY KEY," .
"Name text UNIQUE NOT NULL, Sex text CHECK(Sex IN ('M', 'F')))";
$ok = sqlite_exec($dbhandle, $stm, $error);
if (!$ok)
die("Cannot execute query. $error");
echo "Database Friends created successfully";
sqlite_close($dbhandle);
?>
データベースが存在しないときにブラウザでこのコードを実行すると、次のようになります。
データベースを開くことができません:/var/www/m_test1.db
情報:
sqlite_libversion:2.8.17
phpversion:5.3.2-1ubuntu4.14
linux Ubuntu 10.04
phpinfoを見ると、SQLite、SQLite3、PDO_Sqliteが有効になっているようです。
これを機能させるための助けをいただければ幸いです。
編集:解決策は次のとおりです:'chmod ugo + rwx / var / www' :)
その後、sqlite_openとPDOの両方がデータベースを作成できます。