For Programmers: Free Programming Magazines  


Home > Archive > PHP Documentation > January 2006 > #35432 [Com]: make fails with PDO and MySQL5









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author #35432 [Com]: make fails with PDO and MySQL5
luke dot crouch at gmail dot com

2006-01-13, 6:57 pm

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] wez@php.net

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] dbs@php.net

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] nlopess@php.net

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
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com