Драйвер, реализующий интерфейс 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-dev
libreadline-dev
libssl-dev
php5-dev
tcl-dev
Для сборки под RHEL могут потребоваться (помимо стандартных) следующие dev пакеты:
libicu-devel
readline-devel
openssl-devel
php-devel
tcl-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
репозитория.