"Rób, co możesz, w miejscu, jakim jesteś i z tym, co masz."

Instalacja sterownika MySQLnd w PHP – lepsza komunikacja za bazą

W ostatnim wpisie (Typy w PHP i MySQL…) kilka przykładów odnośnie pobieranych danych z bazy i ich typów oraz podałem sposób na rozwiązanie problemu zwracanych typów.

Tutaj natomiast chcę przedstawić Ci co musimy zrobić, by podłączyć nasz sterownik.

 

Słów kilka o sterowniku MySQLnd

Różnica między sterownikiem MySQL a MySQLnd jest taka, że ten pierwszy do komunikacji z bazą danych używa zwykłego ciągu znaków. Natomiast sterownik MySQLnd do komunikacji używa formy binarnej, przez co w łatwy sposób zachowamy typy, a dodatkowo wykonywanie niektórych operacji na bazie danych może być szybsze i przy wsparciu SSL bezpieczniejsze.

MySQLnd jest natywnym sterownikiem w PHP, a sam język wspiera go już od wersji 5.3/5.4. Czy oznacza to że już go mamy zainstalowanego? – nie do końca.

Jak wynika z dokumentacji, PHP wspiera ten sterownik. Natomiast niekoniecznie będzie on skompilowany i zainstalowany na naszym serwerze. Sam zetknąłem się z tym problemem na jednej z maszyn, gdzie zainstalowana wersja PHP to 5.6, a mimo tego sterownik ten nie był zainstalowany i obsługa bazy leciała przez libmysql.

Jeżeli testowaliśmy kod we wcześniejszym wpisie, a jego wykonanie nie powiodło się – oznacza to że sterownik nie jest zainstalowany.

 

Instalacja sterownika MySQLnd

Gdy chcemy mieć pewność poprawnego zainstalowania sterownika, powinniśmy sobie skompilować naszego PHP.

Po pobraniu źródeł odpowiedniej wersji 5.3+ (najlepiej 7+), przy kompilacji musimy zaznaczyć taką konfigurację:

Następnym krokiem jest kompilacja i instalacja:

Teraz możemy sprawdzić czy nowo zainstalowany PHP w pliku konfiguracyjnym php.ini posiada podłączone biblioteki:

Dodatkowo powinniśmy zainstalować lub zaktualizować bibliotekę mysqlnd:

Od tego momentu PHP powinien działać przy współpracy sterownika MySQLnd.

 

A co z Windows?

Tutaj do końca nie mogę się wypowiedzieć, ponieważ nie używam PHP Windows na produkcji. Natomiast na testach w środowisku dev, czysta instalacja z gotowych źródeł (np. XAMPP) wspiera już MySQLnd w wersji 5.6+ jak i 7+. Z dokumentacji PHP wynika też że od wersji 5.3 w Windows sterownik ten jest wbudowany jako podstawowy, więc powinno wszystko działać poprawnie.

 

 

Jeżeli artykuł Ci się przydał pozostaw komentarz i podziel się nim z innymi 😉

Dziękuję i pozdrawiam ! 

 

 

Share This: