1
0
Fork 0
pdo_sqlcipher/README.en.md
2013-08-20 08:49:20 +04:00

54 lines
2.1 KiB
Markdown

# PDO SQLCipher
A driver for implementing [PDO](http://php.net/manual/en/book.pdo.php) (PHP Data Objects) interface for [SQLCipher](http://sqlcipher.net) without replacing genuine PDO SQLite or the system version of [SQLite](http://www.sqlite.org/). It's based on PDO SQLite source code and created by simply replacing names and inserting SQLCipher code (instead of dynamic linking with SQLite libraries).
A detachment of this kind allows granting access to encrypted databases only to applications that obviously need it, without fear of data loss or slowing down other applications.
## Assembling
To assemble this extension, run `build.sh` script. After successful assembly, all the necessary files will be placed in the directory named `release`:
* `sqlcipher` - console client (equivalent of `sqlite3` client)
* `pdo_sqlcipher.so` - php extension (equivalent of `pdo_sqlite.so` extension)
If assembling is performed under Debain, the following dev packages may be required (in addition to standard):
* `libicu-dev`
* `libreadline-dev`
* `libssl-dev`
* `php5-dev`
* `tcl-dev`
If assembling is performed under RHEL, the following dev packages may be required (in addition to standard):
* `libicu-devel`
* `readline-devel`
* `openssl-devel`
* `php-devel`
* `tcl-devel`
If assembling is performed under FreeBSD, `lang/tcl-wrapper` port installation may be required (to support `tclsh`).
Assembling script was tested under Debian Wheezy (PHP 5.4.4-14) and FreeBSD 9.1 (PHP 5.4.13)
## Installation
Install this extension by copying files from the `release` directory:
* `sqlcipher` to the `/usr/local/bin/` directory
* `pdo_sqlcipher.so` to the directory of php modules (depends on specific distro):
* Debian: `/usr/lib/php5/20100525/`
* RHEL: `/usr/lib64/php/modules/`
* FreeBSD: `/usr/local/lib/php/20100525/`
And enable the php extension:
```
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`
You can find an example of extension usage in `example.php` file within the repository.