ID: 35432 Comment by: luke dot crouch at gmail dot com 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:
I'm not sure if this is still being called a "bug" but I experienced it while compiling php 5.1.1 on RHEL3 ES. To get a correct make after using --enable-pdo=shared, I had to explicitly add these options as well: --with-pdo-informix=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-sqlite=shared I know the informix and/or MySQL share instructions might be unnecessary, but I got it to work this way, so I'm sticking with it! ;) I think the combination of --with-sqlite=shared --with-pdo-sqlite=shared is the important part. Previous Comments: ------------------------------------------------------------------------ [2005-12-10 05:00:51] [EMAIL PROTECTED] Points 2 and 3 from Dans comment are not true; sorry Dan :) ext/pdo_sqlite is totally independent from ext/sqlite. The shared/static-ness of them has nothing to do with each other. The key thing is that if PDO is shared, then all extensions that implement PDO drivers must also be built shared. ext/sqlite implements the sqlite2 PDO driver, so it must be built shared if PDO is shared. Ordering in php.ini; pdo.so must be first; the order of the other PDO drivers should not matter. ------------------------------------------------------------------------ [2005-12-01 18:08:51] mail at philipp-wagner dot com That's it. ------------------------------------------------------------------------ [2005-12-01 04:59:45] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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