1
0
Fork 0
My version of abbat's pdo_sqlcipher, with support for PHP 8.4, and replaces pdo_sqlite (rather than a separate driver)
Find a file
2017-07-19 09:34:57 -04:00
package set proper version for deb 2015-05-11 09:40:09 +02:00
.gitignore Initial 2012-07-19 00:47:01 +04:00
build-debian.sh Add instructions for install 2015-05-11 09:45:08 +02:00
build.sh Error checks 2013-09-13 17:33:05 +04:00
config.m4 Update config.m4 for PHP 5.6 2017-07-19 09:34:57 -04:00
example.php FreeBSD build (must fix #2, #3 also) 2013-09-13 17:20:05 +04:00
README.en.md fix readme path for freebsd 2013-08-20 08:49:20 +04:00
README.md fix readme path for freebsd 2013-08-20 08:49:20 +04:00

PDO SQLCipher

A driver for implementing PDO (PHP Data Objects) interface for SQLCipher without replacing genuine PDO SQLite or the system version of SQLite. 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.