Bug #54644 [Asn->Csd]: wrong pathes in php_pdo_mysql_int.h
| From: | public at grik dot net | Date: | Mon, 02 May 2011 20:32:32 +0000 |
| Subject: | Bug #54644 [Asn->Csd]: wrong pathes in php_pdo_mysql_int.h | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-160514@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=54644&edit=1
ID: 54644
User updated by: public at grik dot net
Reported by: public at grik dot net
Summary: wrong pathes in php_pdo_mysql_int.h
-Status: Assigned
+Status: Closed
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:
thanks!
I am sorry for the wrong initial description, complaining at # include
"ext/mysqlnd/mysqlnd.h" while the error clearly told about
"ext/mysql/mysql_mysqlnd.h"
Previous Comments:
------------------------------------------------------------------------
[2011-05-02 21:20:36] tony2001@php.net
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.
------------------------------------------------------------------------
[2011-05-02 21:12:41] tony2001@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] johannes@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.
------------------------------------------------------------------------
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