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:

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.



Previous Comments:
------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

[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.

------------------------------------------------------------------------

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

Reply via email to