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