Comment 6 for bug 178906

Revision history for this message
Brian Hysell (briandh) wrote :

"In fact, we have the same problem, our inability to use SQLite3 databases in a way natively supported by PHP (PDO::SQLite3)."

My problem was as follows:
-> Upon installing php5-sqlite3, the sqlite driver is not added to PDO, and I cannot connect to an SQLite3 database
-> Upon installing php5-sqlite in addition to the aformentioned package, both the "sqlite" (3) and "sqlite2" drivers are added to PDO, and I _can_ connect to an SQLite3 database

Caveats:
-> I've only tested this process under Gutsy, and my Ubuntu-laden notebook recently died
-> I have not tested by first installing php5-sqlite, and then installing php5-sqlite3

However, on a hunch, I've looked within the deb files of both packages in Gutsy's repos, and I believe I've found the issue.

Both packages contain the proper shared objects: sqlite.so ("classic interface") and pdo_sqlite.so for php5-sqlite; pdo_sqlite3.so for php5-sqlite3.

However, if you look in the control directory of each, you'll find that php5-sqlite has a proper postinstallation script, whereas php5-sqlite3 does not.

A regular expression within php5-sqlite's postinstallation script looks like it would match pdo_sqlite3.so in addition to the shared objects it was intended to match.

The problem, thus, seems to be that php5-sqlite3 copies the proper files to their proper locations, but does not register them in php.ini; when php5-sqlite is installed, its postinstallation script does so not only for its own drivers, but for php5-sqlite3's as well.

Looking inside the Hardy packages, they exhibit the same issue.

I don't know if this is a Debian issue or an Ubuntu issue, but in any case, unless I am completely off-base here, _a_maintainer_ needs to add a postinstallation script to php5-sqlite3.