Edit report at http://bugs.php.net/bug.php?id=54644&edit=1

 ID:                 54644
 Updated by:         tony2...@php.net
 Reported by:        public at grik dot net
 Summary:            wrong pathes in php_pdo_mysql_int.h
 Status:             Assigned
 Type:               Bug
 Package:            PDO related
 Operating System:   unix
 PHP Version:        5.3.6
 Assigned To:        mysql
 Block user comment: N
 Private report:     N

 New Comment:

There's also another issue: you can't install mysqlnd itself, you have
to install one of the extensions using it. So in order to build shared
version of PDO_MYSQL with myslnd you have to build ext/mysql with myslnd
*statically*.

I believe ext/mysqlND should be full-grown extension with its own
--enable-mysqlnd option, this was you could build it separately AND
still be able to use your automagic with $PHP_MYSQLND_ENABLED.


Previous Comments:
------------------------------------------------------------------------
[2011-05-02 21:12:41] tony2...@php.net

The problem is quite weird. 

I guess this line:

#      include "ext/mysql/mysql_mysqlnd.h"

..is some kind of leftover from the good ol' times when mysqlnd was a
part of ext/mysql/; at least nothing breaks if I remove it.



So the patch is as easy as this:

--- php_pdo_mysql_int.h (revision 307861)

+++ php_pdo_mysql_int.h (working copy)

@@ -25,7 +25,6 @@



 #if defined(PDO_USE_MYSQLND)

 #      include "ext/mysqlnd/mysqlnd.h"

-#      include "ext/mysql/mysql_mysqlnd.h"

 #      include "ext/mysqlnd/mysqlnd_libmysql_compat.h"

 #      define PDO_MYSQL_PARAM_BIND MYSQLND_PARAM_BIND

 #else

------------------------------------------------------------------------
[2011-05-02 20:19:11] public at grik dot net

There is one phpize in the system, and I reinstalled PHP to ensure the
error 

persists.

mysqlnd.h exists and is present in the proper folder



[root@devel php-5.3.6]# whereis phpize

phpize: /usr/local/bin/phpize



[root@devel php-5.3.6]# phpize -v

Configuring for:

PHP Api Version: 20090626

Zend Module Api No: 20090626

Zend Extension Api No: 220090626



[root@devel php-5.3.6]# locate mysqlnd.h

/usr/local/include/php/ext/mysqlnd/mysqlnd.h

/usr/local/include/php/ext/mysqlnd/php_mysqlnd.h

/usr/src/web/php-5.3.6/ext/mysql/mysql_mysqlnd.h

/usr/src/web/php-5.3.6/ext/mysqli/mysqli_mysqlnd.h

/usr/src/web/php-5.3.6/ext/mysqlnd/mysqlnd.h

/usr/src/web/php-5.3.6/ext/mysqlnd/php_mysqlnd.h



[root@devel php-5.3.6]# ll /usr/local/include/php/ext/mysqlnd/mysqlnd.h

-rw-r--r-- 1 root root 17088 2011-05-02 20:49 

/usr/local/include/php/ext/mysqlnd/mysqlnd.h



[root@devel php-5.3.6]# php-config --includes

-I/usr/local/include/php -I/usr/local/include/php/main -

I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -

I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib

------------------------------------------------------------------------
[2011-05-02 19:11:42] public at grik dot net

Look:



# tar -xjf php-5.3.6.tar.bz2

mysqli]# cd php-5.3.6/ext/mysqli/

mysqli]# phpize; ./configure --with-mysqli=mysqlnd; make

...

Build complete.

Don't forget to run 'make test'.

mysqli]# cd ../pdo_mysql/

pdo_mysql]# phpize;./configure --with-pdo-mysql=mysqlnd;make

...

In file included from
/usr/src/web/php-5.3.6/ext/pdo_mysql/pdo_mysql.c:32:

/usr/src/web/php-5.3.6/ext/pdo_mysql/php_pdo_mysql_int.h:28:38: error: 

ext/mysql/mysql_mysqlnd.h: No such file or directory

make: *** [pdo_mysql.lo] Error 1



# php -v

PHP 5.3.6 (cli) (built: Apr 30 2011 21:21:49) (DEBUG)

Copyright (c) 1997-2011 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies



pdo_mysql]# cd ../..

php-5.3.6]# ./configure --with-pdo-mysql=mysqlnd;make



Build complete.

Don't forget to run 'make test'.







What else can I show you?

------------------------------------------------------------------------
[2011-05-02 14:43:08] johan...@php.net

The mysqlnd.h file inside the distribution is *not* the file you are
looking for. You are looking for a file installed on your system. The
installation where "phpize" is coming from.

------------------------------------------------------------------------
[2011-05-02 13:40:20] public at grik dot net

yes, I have it installed. It was a re-compilation of an extension due to
another 

error: http://bugs.php.net/bug.php?id=54646



I understand you are busy and abused by reports, but this is not that
case.

I managed to recompile it after patching the header file.



Please re-read the description.

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


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/bug.php?id=54644


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=54644&edit=1

Reply via email to