# State of libmysql?

- Thread: https://externals.io/message/106086
- Original archive: https://news-web.php.net/php.internals/106086
- Started by Nikita Popov on 2019-06-28T12:59:28+00:00
- Messages: 4
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · RFCs at https://externals.io/rfc.md · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #106086 — Nikita Popov — 2019-06-28T12:59:28+00:00

URL: https://externals.io/message/106086#106086

Hi internals,

Building PHP 7.4 against libmysql rather than mysqlnd has been broken for
quite a while and only recently noticed in
https://github.com/php/php-src/pull/4316. Clearly none of us are using
libmysql and none of our CI jobs test it. Now that it compiles again, there
are many build warnings, as well as about 10 failing PDO MySQL tests and 20
failing MySQLi tests.

This is not good. I think that we either need an interested party to
support these bindings, or else drop support for building against libmysql.

Regards,
Nikita

---

## #106087 — Remi Collet — 2019-06-28T13:04:59+00:00

URL: https://externals.io/message/106086#106087

Le 28/06/2019 à 14:59, Nikita Popov a écrit :
> Hi internals,
> 
> Building PHP 7.4 against libmysql rather than mysqlnd has been broken for
> quite a while and only recently noticed in
> https://github.com/php/php-src/pull/4316. Clearly none of us are using
> libmysql and none of our CI jobs test it. Now that it compiles again, there
> are many build warnings, as well as about 10 failing PDO MySQL tests and 20
> failing MySQLi tests.
> 
> This is not good. I think that we either need an interested party to
> support these bindings, or else drop support for building against libmysql.

+1 to drop support for libmysqlclient.

BTW license is NOT compatible with PHP.

Remi

> 
> Regards,
> Nikita

---

## #106089 — johannes@schlueters.de — 2019-06-28T15:00:29+00:00

URL: https://externals.io/message/106086#106089

> Le 28/06/2019 à 14:59, Nikita Popov a écrit :
> > […]

I think andrey did some experiments reccently. I haven't looked into it
in a while. There are sometimes benefits where some operations can be
used via libmysql, but not mysqlnd, while mysqlnd has benefits.
Dropping libmysql-support would make the code easier, but also limit
abilities. (especially in case where mariadb and mysql protocol
diverge)

> +1 to drop support for libmysqlclient.
> 
> BTW license is NOT compatible with PHP.

I am no lawyer, but imo that is incorrect.

a) libmysql is licensed under GPL+universal FOSS exception, which
allows combination with OSI-approved licenses, to which PHP License
belongs https://oss.oracle.com/licenses/universal-foss-exception/
b) there is a commercial version of libmysql, which doesn't have GPL's
virality

johannes

---

## #106156 — Nikita Popov — 2019-07-05T12:00:35+00:00

URL: https://externals.io/message/106086#106156

On Fri, Jun 28, 2019 at 5:00 PM Johannes Schlüter <johannes@schlueters.de>
wrote:

> 
> > […]
>
> I think andrey did some experiments reccently. I haven't looked into it
> in a while. There are sometimes benefits where some operations can be
> used via libmysql, but not mysqlnd, while mysqlnd has benefits.
> Dropping libmysql-support would make the code easier, but also limit
> abilities. (especially in case where mariadb and mysql protocol
> diverge)
>

I think that having libmysql support is in principle valuable, but it needs
to be maintained. I'd prefer to have no libmysql support over having broken
support.

Is there anyone who is interested in fixing the current test failures? I
think it will be manageable to maintain this code once we have a clean CI
build set up, but someone with MySQL familiarity needs to bring the tests
in shape first.

Nikita

> +1 to drop support for libmysqlclient.
> > […]
>
> I am no lawyer, but imo that is incorrect.
>
> a) libmysql is licensed under GPL+universal FOSS exception, which
> allows combination with OSI-approved licenses, to which PHP License
> belongs https://oss.oracle.com/licenses/universal-foss-exception/
> b) there is a commercial version of libmysql, which doesn't have GPL's
> virality
>
> johannes
