mysql_connect z PHP 5.3.6 nie umie ::1

Usługi na moim lapku stanardowo binduję na ::1. Niestety, PHP 5.3.6 (i wcześniejsze wersje zapewne też) nie jest na to gotowe :(


$ cat ./x.php
<?php
mysql_connect('::1', 'mysql', 'TAJNE_HASŁO')
or die('Nie można się połaczyć: ' . mysql_error());
?>

Teraz spróbujemy zainicjować połączenie.


$ php -f ./x.php
PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '1' (2) in /home/users/wojtosz/x.php on line 2
Warning: mysql_connect(): Can't connect to local MySQL server through socket '1' (2) in /home/users/wojtosz/x.php on line 2
Nie można się połaczyć: Can't connect to local MySQL server through socket '1' (2)

Połączenie bezpośrednio do MySQL na ::1 przechodzi bez problemu:


$ mysql -u mysql -p -h ::1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.13-log PLD/Linux Distribution MySQL RPM
[...]
mysql> \s
--------------
mysql Ver 14.14 Distrib 5.5.13, for Linux (x86_64) using readline 6.2
Connection id: 17
Current user: mysql@localhost
SSL: Not in use
Server version: 5.5.13-log PLD/Linux Distribution MySQL RPM
Protocol version: 10
Connection: ::1 via TCP/IP
[...]

Wyciąłem […] zbędne rzeczy. Jak widać, niewielu jest takich, którzy IPv6 używają na codzień, a szkoda :(

2 thoughts on “mysql_connect z PHP 5.3.6 nie umie ::1

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.