ID: 35432 Updated by: [EMAIL PROTECTED] Reported By: mail at philipp-wagner dot com Status: Assigned Bug Type: Documentation problem Operating System: SuSE Linux 8.0 PHP Version: 5CVS-2005-11-27 (snap) Assigned To: dbs New Comment:
Wow... this is a bit of a complex beast. So to summarize, the documentation updates we're looking at: 1. If PDO is built as a shared modules, all PDO drivers must also be built as shared modules. 2. If ext/pdo_sqlite is built as a shared module, ext/sqlite must also be built as a shared module. 3. In the extensions entries, if ext/pdo_sqlite is built as a shared module, php.ini must specify pdo_sqlite first, followed by sqlite. Previous Comments: ------------------------------------------------------------------------ [2005-11-30 21:47:30] [EMAIL PROTECTED] Dan, can you take a look at this please? ------------------------------------------------------------------------ [2005-11-30 21:42:01] mail at philipp-wagner dot com I'm really sorry that I'm adding again some small thing, but I figured out that it is also important in which order you load the modules. You have to load the PDO modules first, before you load the sqlite module, otherwise you get the following error: <b>Warning</b>: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/extensions/no-debug-non-zts-20050922/sqlite.so' - /usr/local/lib/php/extensions/no-debug-non-zts-20050922/sqlite.so: undefined symbol: php_pdo_register_driver in <b>Unknown</b> on line <b>0</b><br /> The PDO modules are loaded correctly, but the sqlite module won't until you place the extension=sqlite.so line in the php.ini file after the pdo extensions. That should be mentioned in the documentation also. ------------------------------------------------------------------------ [2005-11-30 20:15:30] mail at philipp-wagner dot com It's really a documentation problem then. It's NOT enough to just specify (as you wrote above) --enable-pdo=shared --with-pdo-mysql=shared,/usr/local/mysql --with-sqlite=shared I had to use --enable-pdo=shared --with-pdo-mysql=shared,/usr/local/mysql --with-sqlite=shared --with-pdo-sqlite=shared to get it to work. This really should be be mentioned in the documentation. The documentation only suggests to compile with --enable-pdo=shared, but that won't work, if you don't use at least the corresponding sqlite configure options also. ------------------------------------------------------------------------ [2005-11-30 18:47:41] [EMAIL PROTECTED] You "simply" need to tell configure to build what you want it to build, how you want it built. --enable-pdo=shared --with-pdo-mysql=shared,/usr/local/mysql --with-sqlite=shared I know it sucks that we can't automatically make it work that way you want it; configure scripts have their limitations. ------------------------------------------------------------------------ [2005-11-30 17:31:25] [EMAIL PROTECTED] Wez, so, enabling by default is good thing? Hint: You should always use --disable-all :) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35432 -- Edit this bug report at http://bugs.php.net/?id=35432&edit=1