我有一个Sinatra应用程序使用Sequel gem对sqlite3数据库。我一直在使用运行Mavericks的MacBook Pro上进行开发。我一直在使用shotgun gem在本地运行应用程序,一切都运行得很好。最近我决定用Passenger和Nginx运行应用程序。当我在passenger / nginx下运行应用程序时,应用程序在日志中出现以下错误
App 17805 stdout: E, [2014-02-09T20:44:42.491448 #17805] ERROR -- : SQLite3::IOException: disk I/O error: SELECT * FROM `movies`
App 17735 stderr: Sequel::DatabaseError - SQLite3::IOException: disk I/O error:
我检查了数据库的权限,我相信它们设置正确。
smbp2:storage jojoba$ ls -lthr
total 112
-rw-rw-rw- 1 jojoba staff 28K Feb 1 22:40 dev.db
我觉得乘客进程读取数据库时会出现某种权限问题,但我不确定为什么数据库不能用上面列出的权限读取。我在Stack Overflow上看到了类似的问题 - “Exception Message: Some kind of disk I/O error occurred”,但这似乎与删除数据库有关。
我不相信存在任何数据库损坏,当我使用霰弹枪运行它时应用程序仍然有效。
有没有人碰过类似的东西?