Konfigurera PHP5 för att köra MySQL
Förord
I version 5.x utav PHP så är inte MySQL biblioteket inkluderat i installationen. Detta märker man när man försöker connecta till en databas och får felmeddelandet ”undefined function MYSQL_CONNECT()” Anledningen till att MYSQL stödet inte följer med installationen är bl.a. att de flesta system idag redan har biblioteket installerat, framtida versioner utav biblioteket går under GPL och PHP går under BSD/Apache-style licensen. Självklart kommer det att finnas stöd för MySQL men det blir lite mer jobb med att implementera det. Linux användare behöver bara lägga till --with-mysql=/usr under installationen, och använder då systemets MySQL bibliotek. Windows användare har lite mer jobb.Innehåll
»»
Relaterade artiklar
php.ini
Vi börjar med att konfigurera php.ini filen. Först så får vi redigera vart de laddningsbara modulerna ligger.Vid extensions_dir som ligger under ”Paths and Directories” så skriver vi ”c:\php\ext” (förutsatt att du har installerat PHP däri, annars anger du bara sökvägen till PHP \ext t.ex. ”d:\annan katalog\php\ext”).
Detta gör vi för att PHP ska vet vart någonstans de externa modulerna ligger.
Efter detta går vi ner till ”Dynamic Extensions”, och där under ser vi ;extension=php_mysql.dll.
Här ska vi ta bort semikolonet ” ; ”. Det är nämligen en kommentar och när vi tar bort den så kommer PHP att köra extension=php_mysql.dll vilket medför att den laddar modulen som bl.a. beskriver för PHP hur den ska connecta till en MySQL databas.
libmysql.dll
Nu kan man tycka att det borde vara klart men det är ett moment kvar. I PHP rooten (oftast c:\php) finns en fil som heter libmysql.dll denna skall kopieras till %systemroot% (c:\windows). Efter detta är det bara att start om webservern och du har MySQL stöd i PHP.
Per Persson
Om du vill få igång Apache + MySQL + PHP snabbt under Windows, rekommenderas WAMPserver:
Tobias Rosengren
Anledningen till att libmysql.dll ska ligga i %systemroot% är att den gås igenom när Systemet letar efter extensions. Problemet är att det inte är den enda mappen vilket betyder att det kan ligga filer med samma namn men av andra versioner någon annanstans i systemet vilket naturligtvis ställer till med problem. Exempelvis så kommer mysql-stödet inte laddas om man har en libmysql i %systemroot% och en i %systemroot%/system 32 eftersom båda gås igenom. Man måste därför vara lite uppmärksamm på om man har filer som ligger och skräpar i systemet. Det tog ganska länge innan jag hittade mina. Och vill man ha en utvecklingsmiljö för Apache, MySQL och PHP kan man använda sig av XAMPP, som finns på apachefriends.org. Bra artikel Jacob =)