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

Reply via email to