Драйвер, реализующий интерфейс PDO (PHP Data Objects) для SQLCipher без замещения оригинальной версии PDO SQLite или системной версии SQLite. Основан на оригинальном коде PDO SQLite путем простого замещения имен и встраиванием кода SQLCipher (вместо динамической линковки с библиотеками SQLite).
Подобное разделение позволяет работать с шифрованными базами только тем приложениям, которые в этом явно нуждаются не опасаясь потери данных или замедления работы остальных приложений.
Для сборки расширения запустите скрипт build.sh. После успешной сборки необходимые файлы будут помещены в директорию release:
sqlcipher- консольный клиент (аналогичный клиентуsqlite3)pdo_sqlcipher.so- расширение php (аналогичное расширениюpdo_sqlite.so)
Для сборки под Debain могут потребоваться (помимо стандартных) следующие dev пакеты:
libicu-devlibreadline-devlibssl-devphp5-devtcl-dev
Для сборки под RHEL могут потребоваться (помимо стандартных) следующие dev пакеты:
libicu-develreadline-developenssl-develphp-develtcl-devel
Для сборки под FreeBSD может потребоваться установка порта lang/tcl-wrapper (для поддержки tclsh).
Скрипт сборки протестирован на Debian Wheezy (PHP 5.4.4-14) и FreeBSD 9.1 (PHP 5.4.13)
Для установки расширения скопируйте файлы из директории release:
sqlcipherв директорию/usr/local/bin/pdo_sqlcipher.soв директорию модулей php (зависит от дистрибутива):- Debian:
/usr/lib/php5/20100525/ - RHEL:
/usr/lib64/php/modules/ - FreeBSD:
/usr/local/lib/php/20100525/
- Debian:
И подключите расширение php:
extension=pdo_sqlcipher.so
- Debian:
/etc/php5/conf.d/pdo_sqlcipher.ini - RHEL:
/etc/php.d/pdo_sqlcipher.ini - FreeBSD:
/usr/local/etc/php/extensions.ini
Пример использования расширения можно найти в файле example.php репозитория.