Самая популярная в мире легковесная реляционная СУБД с механизмом поддержки транзакций, но в то же время малоизвестная для широкой публики.
http://ru.wikipedia.org/wiki/SQLite
http://www.sqlite.org/
Для Debian
Если мы получаем сообщение, что Class 'SQLiteDatabase' not found в попытке поработать с этой БД из php скрипта через объект SQLiteDatabase, значит нам нужно установить недостающий пакет модуля php:
aptitude install php5-sqlite - устанавливается sqlite3, что можно проверить, выполнив код php -m
после чего сделаем перезагрузку Apache2:
/etc/init.d/apache2 restart
Утилита командной строки для работы с SQLite и мануал впридачу
Можно также установить программу-клиента для работы с БД и документацию к ней:
aptitude install sqlite3 sqlite3-doc
man sqlite3 - знания
Для работы с уже существующй БД необходимо, чтобы версии утилиты и БД совпадали.
К примеру, если мы создали БД через метод SQLiteDatabase из (php5-sqlite), то БД имеет формат второй версии и не дружит с утилитой sqlite3. При попытке обратиться с запросом к БД sqlite3 будет жаловаться:
"Error: file is encrypted or is not a database"
Утешая себя тем, что лучшее - враг хорошего, ставим старого клиента, который находит общий язык с БД:
aptitude install sqlite sqlite-doc
Ошибка с записью в БД
На файл базы SQLite3 есть все права доступа, но получаем такую ошибку:
PHP Warning: SQLite3::query(): unable to open database file in /var/www/script.php on line ....
Решение - скрипт, запускаемый веб сервером, создает временный файл в директории БД, даем права на запись веб-серверу, проблема исчезает.
Программа весит аж 80 килобайт :)