我想在Linux/Apache服務器上使用PHP & sqlite實現一個簡單的數據庫。使用PDO寫入SQLite數據庫
我可以很容易地閱讀,但我不能執行任何UPDATE,DELETE或INSERT操作。致命錯誤我得到的是:
General error: 5 database is locked
舉個簡單的例子:
$pdo=new PDO('sqlite:test.sqlite');
$pdo->exec("INSERT INTO menus(id,name,description) VALUES(6,'test','this is a test')");
這也是在等待很長一段時間(約一分鐘),然後報告上述錯誤。
我已經閱讀了很多建議,其中許多建議數據庫或其包含的文件夾應該是可寫的。他們是。 (或者是,我讓它們成爲世界上可寫的測試用例,並且在失敗時使它們恢復更合理的權限。)
我沒有任何困難使用其他技術寫入數據庫,例如Linux中的sqlite3命令和SQLite管理器插件Firefox瀏覽器。
我會歡迎任何有關如何使這項工作的意見。
爲了澄清,您可以使用另一個程序向此數據庫寫入數據,而PDO將其報告爲鎖定? – Brad
沒錯。我已經檢查過沒有其他進程正在打開數據庫。馬克 – Manngo
user1413856,這是離奇的!進入這種領域 - 並不是每天都會發生,您使用的是什麼版本的PHP?您使用的PDO驅動程序的版本(如果有)?如果你建立一個新的乾淨的數據庫(沒有數據,單個表)並且嘗試會發生什麼? – Brad