[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