CakeFest 2017 NYC, the Official CakePHP Conference

Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

SQLite Configure Options
Name Default Changeable Changelog
sqlite.assoc_case "0" PHP_INI_ALL Available since PHP 5.0.0.
For further details and definitions of the PHP_INI_* modes, see the Where a configuration setting may be set.

Here's a short explanation of the configuration directives.

sqlite.assoc_case int

Whether to use mixed case (0), upper case (1) or lower case (2) hash indexes.

This option is primarily useful when you need compatibility with other database systems, where the names of the columns are always returned as uppercase or lowercase, regardless of the case of the actual field names in the database schema.

The SQLite library returns the column names in their natural case (that matches the case you used in your schema). When sqlite.assoc_case is set to 0 the natural case will be preserved. When it is set to 1 or 2, PHP will apply case folding on the hash keys to upper- or lower-case the keys, respectively.

Use of this option incurs a slight performance penalty, but is MUCH faster than performing the case folding yourself using PHP script.

add a note add a note

User Contributed Notes 1 note

S dot Kien at online dot de
7 years ago
Note, that it is not enought to grant write access to the SQLite database file. Because SQLite creates a journal file in the directory, the database is located. For that reason write acces to this directory is needed as well.

If no write access to the directory is allowed, it is already posible to open database and read data, but first write operation (INSERT,UPDATE, DELETE, CREATE xxx,..) results in error "unable to open database file" (even though the database file already opened for reading...)
To Top