Edit report at https://bugs.php.net/bug.php?id=61196&edit=1
ID: 61196
Comment by: floren at yqed dot com
Reported by: floren at yqed dot com
Summary: Unable to load dynamic library, undefined symbol
Status: No Feedback
Type: Bug
Package: Dynamic loading
Operating System: CentOS 5.7
PHP Version: 5.3.10
Block user comment: N
Private report: N
New Comment:
I found the issue, is related to the loading order of mysql modules.
If you load mysql.so or mysqli.so before mysqlnd.so, you will get this error. The solution is to
rename the modules, so they are loaded into correct order, i.e.:
mysql.so > mysqlnd_mysql.so
mysqli.so > mysqlnd_mysqli.so
pdo_mysql.so > pdo_mysqlnd.so
Then, PHP will load the modules into proper order:
mysqlnd.so
mysqlnd_mysql.so
mysqlnd_mysqli.so
pdo_mysqlnd.so
This is an ugly workaround, the proper solution is when you --enable-mysqlnd, the modules should be
automatically renamed at build time for sanity reasons. Further more, we could define a specific
loading order, something like:
...
50_mysqlnd.so
60_mysql.so
70_mysqli.so
80_pdo_mysqlnd.so
...
The PHP developer team is more in measure to define the proper PHP module loading order. Looking
forward to hear your comments on that matter.
Previous Comments:
------------------------------------------------------------------------
[2013-12-17 02:21:32] floren at yqed dot com
/usr/bin/mysql_config:
http://pastie.org/private/umb81fprsj8w2hsyivytzg
------------------------------------------------------------------------
[2013-12-16 06:50:07] floren at yqed dot com
I forgot to mention that the build is made on CentOS 6.5 x86_64.
------------------------------------------------------------------------
[2013-12-16 06:18:22] floren at yqed dot com
Here it is the new %build section I use for PHP 5.5.7:
http://pastie.org/private/ufwgue8ipdpfko4aejv0g
I have issues when I start the php-fpm service:
[root@apollo ~]# service php-fpm start
Starting php-fpm: [16-Dec-2013 00:34:58] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to
load dynamic library '/usr/lib64/php/modules/mysql.so' - /usr/lib64/php/modules/mysql.so:
undefined symbol: _mysqlnd_fetch_lengths in Unknown on line 0
[16-Dec-2013 00:34:58] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic
library '/usr/lib64/php/modules/mysqli.so' - /usr/lib64/php/modules/mysqli.so: undefined
symbol: mysqlnd_get_client_version in Unknown on line 0
[ OK ]
------------------------------------------------------------------------
[2013-02-18 00:35:42] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
------------------------------------------------------------------------
[2012-05-02 07:13:27] uw@php.net
There seem to be multiple build targets in your script. Please, paste the one into a bug system
comment that leads to the error. Thanks.
------------------------------------------------------------------------
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
https://bugs.php.net/bug.php?id=61196--
Edit this bug report at https://bugs.php.net/bug.php?id=61196&edit=1