Brug Apache istedet!..
Men tjek den her artikel !
<!-- Cut out fra php.dk --->
http://www.php.dk/artikler/installwin9x.phpApache, PHP og MySql under Win9x
Det skal indledningsvis siges, at MySQL (og vist nok også Apache) kræver Winsock 2, så hvis du har en ældre udgave af Win95, kan du risikere at sidde med en gammel version af Winsock. Hent i så fald Winsock 2 her.
Mange hundrede individer har fulgt disse tutorials med succes, men hvis du alligevel er løbet ind i et problem, bedes du rette dine spørgsmål til nyhedsgruppen dk.edb.internet.webdesign.serverside, da jeg desværre ikke længere har tid og overskud til at bistå med løsninger på eventuelle problemer.
Apache HTTP Server
Download & Installation
Start med at downloade seneste verion af Apache herfra (\'apache_versionsnummer_win32.exe\' - fylder omkring 3 MB). Efter endt download kan selve installationen af Apache påbegyndes ved at køre den downloadede installationsfil og dernæst følge den letforståelige installationsprocedure.
Start Apache
Apache kan nu startes ved at klikke på den genvej, som du formentligt valgte at oprette undervejs i installationsproceduren, hvorefter et dos-vindue åbnes (minimér blot dette vindue, men luk det ikke!!) med information om, at Apache nu er kørende. Undlod du at oprette en genvej til Apache under installtionen, kan du også køre programmet ved blot at eksekvere filen Apache.exe, som ligger i det directory, hvor du installerede Apache (f.eks. c:\\apache\\).
Du kan eftertjekke, om Apache virker, ved at åbne et browser-vindue og skrive
http://localhost (eller
http://127.0.0.1) som URL. Hvis det virker, bliver du mødt med velkomstside, der ser nogenlunde således ud.
Hvis det ikke virkede, så prøv at angive ServerName i din Apache -konfigurationsfil (httpd.conf) til at være 127.0.0.1 (localhost). Husk også at fjerne # (havelåge) foran ServerName (dette aktiverer linien). httpd.conf ligger i Apache\'s sub-directory \\conf\\ og kan åbnes med f.eks. Notepad/Notesblok.
Her kan du se, hvordan min httpd.conf ser ud.
Hvis du i øvrigt har fået en fast IP-adresse tildelt af din ISP (Internet Service Provider), har du mulighed for at tilgå din Apache Web Server udefra ved at angive denne IP ud for ServerName.
Stop Apache
Korrekt nedlukning af Apache sker ved, at du åbner et nyt dos-vindue og derefter går til det pågældende directory, hvor du installerede Apache. Herefter udføres kommandoen Apache -k shutdown, og Apache lukker ned på korrekt vis.
Konfigurering
Først og fremmest skal vi have forberedt Apache på at kunne arbejde sammen med PHP. Dette gøres ved at aktivere (eller indsætte) følgende linier i httpd.conf:
ScriptAlias /php3/ \"c:/path-to-php-dir/\"
AddType application/x-httpd-php3 .phtml .php3 .php
Action application/x-httpd-php3 \"/php3/php.exe\"
Linie nr. 2 (AddType) ligger allerede i httpd.conf, så ud for denne kan du blot fjerne # foran den (dette aktiverer den). De andre to linier indsætter du selv. Deres placering i httpd.conf er underordnet, men placér dem alligevel hensigtsmæssigt, så filen er til at overskue. Læg i øvrigt mærke til, at Apache (som stammer fra Unix-verdenen) anvender / (slash) i stedet for \\ (backslash), når der skal angives en sti.
For AddType-linien gælder det i øvrigt, at du skal angive, hvilke extensions dine PHP-filer må have. Til at starte med er kun .phtml angivet i AddType-linien. Tilføj selv .php3 og .php, hvis du gerne vil have, at dine PHP-filer må kunne have disse extensions.
I ScriptAlias-linien skal du selv angive den korrekte sti for placeringen af PHP.
En venlig sjæl (Jonas Koch Bentzen, e-mail, website) har gjort mig opmærksom på, at der findes en lille \'Apache Manager\', som gør arbejdet med at åbne og lukke Apache legende let. Download programmet her og kig evt. forbi Apache Manager Web Site.
I den .zip-fil, som du nu har hentet, ligger der apmgr.exe, som du blot udpakker og placerer i det directory, hvor Apache.exe i forvejen ligger (f.eks. c:\\apache\\).
Fra nu af kan du nøjes med at aktivere Apache Manager, som automatisk placerer sig selv i systembakken (systray). Ved at højreklikke på det lille ikon kan du starte, stoppe og genstarte Apache. Smart!
Og hvis du vil have Apache Manager til automatisk at starte Apache, når Windows startes, laver du blot en genvej til Apache Manager (eksempelvis D:\\Apache\\apmgr.exe -r) i dit Windows-StartUp directory (typisk C:\\WINDOWS\\Start Menu\\Programs\\StartUp). Parameteren -r fortæller Apache Manager, at den skal starte Apache. Du skal dog huske manuelt at stoppe Apache, inden Windows lukkes ned!
PHP (som modul under Apache)
Download & Installation
Start med at downloade seneste version af PHP herfra (\'php-versionsnummer-win32.zip\' - fylder omkring 2 MB). Dobbeltklik på den downloadede .zip-fil og udpak alle filerne til et vilkårligt directory, eksempelvis c:\\apache\\php3\\.
I dit PHP directory finder du i øvrigt en masse .dll-filer. Du skal flytte alle de .dll-filer, som ikke begynder med php_, over i c:\\windows\\system\\. Dernæst omdøber du filen php3.ini-dist til php3.ini og flytter den over i c:\\windows\\. Slutteligt kan du meget passende åbne php.ini og fjerne semikolonet foran sætningen ;extension=php3_mysql.dll, således at PHP er forberedt på at kunne snakke sammen med MySQL, som vi senere går i dybden med.
Dit første PHP script (check om PHP virker)
Skriv følgende i en tekstfil og gem den som phpinfo.php i Apache\'s sub-directory \\htdocs\\. Dette directory er Apache\'s default directory for det sted, hvor der peges hen, når du i din browser skriver
http://localhost som URL. Dette kaldes også DocumentRoot i httpd.conf, og du kan, hvis du vil, angive en anden sti.
--------------------------------------------------------------------------------
<html>
<body>
<?php
phpinfo();
?>
</body>
</html>
--------------------------------------------------------------------------------
Hent siden frem ved at kalde den i din browser (husk at Apache skal køre). Dette kan gøres ved at skrive
http://localhost/phpinfo.php i din browser, som når du på almindelig vis kalder en URL i din browser. Hvis PHP er sat rigtigt op, skulle siden gerne vise sig med en helt masse information om PHP i stil med dette.
MySQL
Download & Installation
Start med at downloade seneste version af MySQL herfra (\'mysql-shareware-versionsnummer-win.zip\' - fylder omkring 5 MB). Dernæst udpakker du blot den downloadede .zip-fil til et midlertidigt directory, hvor du kører setup.exe. Installationsprogrammet placerer selv MySQL i c:\\mysql\\. Hvis du hellere vil have MySQL til at ligge et andet sted, kan du flytte filerne efter installationen, men du skal så blot huske at angive denne nye sti, hver gang MySQL Daemon køres. Hvis du f.eks. vælger at flytte MySQL til d:\\programmer\\mysql\\, skal du skrive mysqld --basedir d:\\programmer\\mysql\\.
Start MySQL Daemon
Du kan nu gå direkte i gang med at bruge MySQL. Arbejdet med MySQL foregår lettest (synes jeg) ved at arbejdet i et dos-vindue/dos-prompt. Start med at åbne et dos-vindue og gå til c:\\mysql\\bin\\, hvorfra du eksekverer mysqld.exe (MySQL Daemon). Det er påkrævet, at MySQL Daemon kører (usynligt i baggrunden), sålænge man ønsker at arbejde med MySQL. Har man en Pentium (eller større), kan man passende vælge mysqld-opt.exe i stedet for, da denne er optimeret til Pentium-processorer.
Stop MySQL Daemon
MySQL Daemon kan lukkes ned ved at eksekvere følgende: mysqladmin -u root shutdown
Database-manipulation
Nu kører MySQL Daemon, så lad os starte med at lave en ny database. Dette gøres ved at skrive følgende:
mysqladmin -u root CREATE test_db
Hermed bruger vi den bruger-konto (root), som altid fra start er oprettet, når MySQL er blevet installeret. -u root betyder, at det er som brugeren root, at vi opretter en ny database. Navnet på databasen er test_db. Hvis oprettelsen går godt, får vi følgende besked: Database \"test_db\" created.
Nu er vi klar til at oprette en tabel i den nye database. Dette gøres nemmest ved at oprette en tekstfil, hvori man skriver alle sine SQL-kommandoer (statements). Download denne tekstfil og gem den i c:\\mysql\\bin\\. Tekstfilen indeholder nednestående SQL statements, som udføres på databasen ved at \'dumpe\' tekstfilen ind i databasen. Eksemplet består ganske enkelt af en tabel indeholdende nogle medlemmer.
CREATE TABLE medlemmer
(id tinyint(4) DEFAULT \'0\' NOT NULL AUTO_INCREMENT,
fornavn varchar(20),
efternavn varchar(20),
adresse varchar(255),
PRIMARY KEY (id), UNIQUE id (id));
INSERT INTO medlemmer VALUES (1,\'Per\',\'Frandsen\',\' Vestergade 11, 5000 Odense C\');
INSERT INTO medlemmer VALUES (2,\'John\',\'Christensen\',\'Jordbrovej 22, 8200 Aarhus N\');
INSERT INTO medlemmer VALUES (3,\'Søren\',\'Petersen\',\'Bispensgade 33, 9000 Aalborg\');
Nu \'dumper\' du bare tekstfilen ind i databasen. Dette gøres ved at skrive følgende:
mysql -u root test_db < test_db.txt
Du kan evt. efterprøve, om tabellen medlemmer ser ud, som du har ønsket det. Start MySQL Monitor ved at eksekvere mysql.exe. Du bydes nu velkommen.
Du angiver nu, hvilken database, du ønsker at bruge. Skriv følgende:
use test_db
Dernæst skriver du en SQL statement, der ser ud som følgende:
select * from medlemmer;
Som du kan se, så afsluttes en SQL statement med semikolon.
Du skulle meget gerne få en tabel, der ligner denne.
Forlad MySQL Monitor med kommandoen quit.
Databaseudtræk af MySQL vha. PHP
Nu vil vi prøve at lave et udtræk af vores database ved hjælp af PHP, så vi kan få resultatet præsenteret i en WWW-browser.
Jeg har kreeret et lille PHP script nedenfor, som du kan indskrive i en teksteditor (f.eks. Notepad) og gemme den som mysql.php i \\apache\\htdocs\\, eller du kan blot downloade denne og så lægge den i \\apache\\htdocs\\. Husk at MySQL Daemon (mysqld.exe eller mysqld-opt.exe) skal køre, før det er muligt at arbejde med MySQL. Apache skal naturligvis også køre.
--------------------------------------------------------------------------------
<?php
$connection = mysql_connect(\"localhost\", \"root\");
$db = \"test_db\";
$result = mysql_db_query($db, \"SELECT * FROM medlemmer\", $connection);
while($row = mysql_fetch_array($result)) {
echo $row[\"fornavn\"].\"<br>\";
echo $row[\"efternavn\"].\"<br>\";
echo $row[\"adresse\"].\"<br>\";
echo \"<br>\\n\";
}
mysql_free_result($result);
?>
--------------------------------------------------------------------------------
Her er (kort fortalt), hvad der sker:
Funktionen mysql_connect åbner en forbindelse til MySQL serveren. Host\'en, som MySQL serveren ligger på, er i dette tilfælde localhost, og der logges på med brugeren root. Samtidig fortæller vi med $db = \"test_db\";, at det er databasen med navnet test_db, vi vil bruge.
Funktionen mysql_db_query laver alt arbejdet med at sende SQL statements af sted til MySQL serveren for at blive behandlet. Resultatet af SQL statement lagres i variablen $result.
Funktionen mysql_fetch_array returnerer indholdet af en række fra databasen, og denne række gemmes i variablen $result.
While-løkken, som omslutter mysql_fetch_array, gør, at vi bliver ved med at hente rækker fra databasen, indtil der ikke er flere tilbage samtidig udskrives rækkerne vha. echo.
Med funktionen mysql_free_result frigør vi den hukommelse, som variablen $result beslaglægger. I vores lille script er sådan set slet ikke nødvendigt at kalde mysql_free_result, da den mængde hukommelse, vi har beslaglagt, er minimal. Men nu er du da i det mindste bekendt med funktionen.
Resultatet ved at hente vores mysql.php frem i browseren skulle gerne se således ud.
Hvis du bruger \'view source\' (eller \'vis kilde\') på siden, vil det ikke være til at se, at der rent faktisk er brugt MySQL og PHP (kun navnet på siden (mysql.php) afslører, at der er brugt PHP). Nedenfor kan du se, hvordan \'view source\' vil se ud for vores side, når al PHP-kode er blevet bearbejdet af PHP-fortolkeren.