我想讓我的拳頭sqlite程序與本地主機上的PHP工作,但我不能得到它的工作。在我的機器上,我安裝了Sqlite3,並且所有的C/C++都可以正常工作。本地主機上的SQLite與PHP不起作用(Linux)
如果我移動創建的數據庫爲localhost,給讀/寫權限到數據庫文件,並嘗試通過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:17年2月8日
phpversion:5.3.2-1ubuntu4.14
linux Ubuntu 10.04
通過尋找phpinfo似乎SQLite, SQLite3和PDO_Sqlite已啓用。
任何幫助得到這個工作將不勝感激。
編輯: 解決方案是: '搭配chmod +烏戈RWX在/ var/WWW' :)
是sqlite_open後和PDO既可以創建數據庫。
可能DUP http://stackoverflow.com/questions/1513849/error-file -is-encrypted-or-is-not-a-database – jdhartley
@jdhartley:這個問題肯定存在,但是你提到的那個不是其中之一。這甚至不是同一個錯誤。 – 2012-04-29 16:16:21
@sixfeetsix這不是一個錯誤嗎? PHP說文件是加密的或者不是數據庫,解決辦法是他需要使用PDO和PHP5。 – jdhartley