Jump to content
php.lv forumi

PHP5 (Windows) un MySQL 4.0


Recommended Posts

Nupat liekot PHP5 uz Windows servera, atkārtoti uzrāvos uz gļuka, ka PHP nedraudzējas ar MySQL. Iesākumam konfigurācija.

  • Windows 2000 (SP4)
  • Apache 2.0.50
  • PHP 5.0.2
  • MySQL 4.0.20

Palaižot Apache, saņemam 2 "mīļus" paziņojumus:

 

The procedure entry point mysql_drop_db could not be located in the dynamic link library LIBMYSQL.dll.

Unable to load dynamic library 'c:\php\ext\php_mysql.dll' - The specified procedure could not be found.

 

Līdz ar ko netiek palaists mysql paplašinājums un mēs netiekam pie mysql_...() funkcijām. Nesmuki :angry: Zināju, ka PHP5 vairs nav uzreiz kopā ar MySQL bibliotēku un tā jāpievieno atsevišķi, bet PHP dokumentācijā par to nekas sakarīgs nav teikts. Nācās nedaudz pamocīties, Google arī diez ko nelīdzēja. Beigās risinājums tika atrasts. Tātad:

 

1. Windows sistēmas direktorijā (man: C:\WINNT\System32) jāiekopē libmysql.dll no PHP direktorijas (man: C:\php). Ja tur ir jau atrodas DLL ar šādu nosaukumu, tam var mierīgi rakstīt pa virsu.

2. Ja tas vēl nav izdarīts, zem sistēmas %PATH% (Environment mainīgajos) jānorāda PHP paplašinājumu atrašanās vieta. Manā gadījumā - c:\php;c:\php\ext;

3. Labojam php.ini (tam jāatrodas Windows direktorijā, man: C:\WINNT). Uzstādam paplašinājumu atrašanās vietu

 

extension_dir = "c:\php\ext"

 

un atkomentējam zemāk minētās rindiņas (novācam ";"):

 

extension=php_mysql.dll

extension=php_mysqli.dll

 

(var gadīties, ka sarakstā nav rindiņas ar "mysqli", man to bija jāpieliek, jo pēc tam uzliku MySQL 4.1 un tur ir jaunas funkcijas, kuru nav "mysql")

 

Pārstartējam Apache (net stop apache2 | net start apache2) un skatāmies, ko rāda phpinfo(). Viss Ok, kļūdu paziņojumu vairs nav un phpinfo rāda, ka ir gan mysql, gan mysqli. Pat darbojas B)

 

Vēl info tiem, kas uzlikuši MySQL 4.1 un pēkšņi konstatējuši, ka vairs nevar ielogoties phpMyAdmin - mēģinot to darīt parādās paziņojums

 

Client does not support authentication protocol requested by server; consider upgrading MySQL client

 

Failā config.inc.php pie $cfg['Servers'][$i]['extension'] ieliktais "mysql" jānomaina pret "mysqli".

Edited by Krotow
Link to comment
Share on other sites

Tiem kas tankā - viss iet. Tikai mazliet noslinkoju un nepierakstīju, ka tas jau ir gatavs risinājums problēmai, kad uz Windows kastes jāsadraudzē PHP5 ar MySQL. Jo tas ir 100% skaidrs, ka nebūt nesmu pēdējais, kurš ar šādu šaizi saskaras ;) Tobiš instrukcija tiem, kas vēl nezina kā.

Edited by Krotow
Link to comment
Share on other sites

Labojums vietai par MySQL 3.x-4.0.x klienta bibliotēku libmysql.dll, kurai jābūt Windows sistēmas direktorijā. Jāiekopē vai jānomaina tikai šis DLL, bet citi jāatstāj - viss būs Ok. Izrādījās, ka otru DLL (libmysql5.dll) bija iekopējis Navicat 2004 (aka MySQL Studio), kas pēc jamā nodzēšanas vairs negribēja strādāt <_< - nācās atjaunot. Tagad viss iet.

Edited by Krotow
Link to comment
Share on other sites

Nezinu gan, kur tev problēmas radās. Es uz vairākām kastēm esmu licis apache2 + php5 + mysql 4.x (gan 4.0, gan 4.1) un nekad nav bijis nekādu problēmu. Visdrīzāk tev no veciem softiem vecas konfigurācijas palikušas pāri.

Link to comment
Share on other sites

×
×
  • Create New...