Hi Ulf,

Thanks for the answer, but let me understand this better.

The old mysql API did not support the auth protocol of MySQL 4.1+, but only lower, while the new mysqlnd API only supports MySQL 4.1+ auth protocol. At least this is what I understand from the error message, your response and the note on this page[1]
which refers specifically to PHP.

Is that true? If yes, then this should be stressed on the mysqlnd manual page[2] so that people can do what suits them best - update passwords or compile PHP with the MySQL client library. There are a lot of legacy applications using mysql_* functions that are working
right now because the auth protocol is the old one (as in my case).

Sorry if I somehow missed such warnings in the manual.

There's also the problem of Windows binaries. Lots of people are developing on Windows and host their work where they have little control over the MySQL configuration. People compiling PHP on Windows are rare and even some Linux sysadmins are afraid/don't have the knowledge to compile PHP with special arguments (my sysadmin). In my opinion there's a problem right here that would have been best solved with some php.ini setting.


Cheers,

[1] http://dev.mysql.com/doc/refman/4.1/en/old-client.html
[2] http://php.net/mysqli.mysqlnd


On 3/30/2009 11:04, Ulf Wendel wrote:
Ionut G. Stan schrieb:
Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected in {filename} on line 18 Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in {filename} on line 18

This says everything. You cannot use old authentication with mysqlnd.

Upgrade you server passwords to the more recent and more secure authentication method or recompile PHP with libmysql (MySQL Client Library) support. Check ./configure --help | grep -C3 mysql and http://www.php.net/manual/en/mysql.installation.php .

Ulf


--
Ionut G. Stan
I'm under construction  |  http://igstan.blogspot.com/


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to