[sisyphus] php5 and mysqlnd

Michael Bochkaryov misha на rattler.kiev.ua
Вт Фев 8 20:52:17 UTC 2011


08.02.2011 22:20, Slava Dubrovskiy wrote:
> 08.02.2011 21:29, Michael Bochkaryov пишет:
>> Мне малость знания autotools не хватает, чтобы правильно сделать.
>> Вроде бы нужно прибить гвоздями PHP_MYSQLND_ENABLED=yes в configure.
>>
>> Можно, конечно, при сборке php включить --with=mysql=mysqlnd,
>> после чего не паковать его, но получить уже живой mysqlnd.
>    if test "$PHP_MYSQLI" = "mysqlnd";
> then
>
>      PHP_ADD_EXTENSION_DEP(mysqli,
> mysqlnd)
>
>      AC_DEFINE([MYSQLI_USE_MYSQLND], 1, [Whether mysqlnd is
> enabled])
>
>
> fi
>
>
> Но там мне кажется немного сложнее. mysqlnd используется ВМЕСТО mysqli

Не совсем так.

В поставке php есть 3 разных екстеншена - mysql, mysqli, pdo-mysql.
И в качестве бэкенда каждый из них может использовать либо 
libmysqlclient, либо mysqlnd (native driver for php).

Так что не вместо, а ВМЕСТЕ с mysqlnd.

> Вот что написано в ext/mysqli/config.m4
>
> PHP_ARG_WITH(mysqli, for MySQLi
> support,
>
> [  --with-mysqli[=FILE]    Include MySQLi support.  FILE is the
> path
>
>                            to mysql_config.  If mysqlnd is passed as
> FILE,
>
>                            the MySQL native driver will be used
> [mysql_config]])
>
>
> Т.е. я думаю нужно его собирать одновременно с mysqli

Там сильно злое колдунство получается, с разгона не получилось.

Т.е. указать при сборке php5-mysqli --with-mysqli=mysqlnd несложно,
но дальше ожидается, что mysqlnd уже присутствует, что не так.
Да и собирается он не в виде shared object, а в libphp, как я понял.

P.S. Это для любого из трех упомянутых экстеншенов актуально.


-- 
Regards,
Michael Bochkaryov
www.rattler.kiev.ua


Подробная информация о списке рассылки Sisyphus