|
|
|||||||
![]() |
Webserver mit PHP/MySQL unter WindowsDas Problem gehört zwar eigentlich nicht auf eine Perl/CGI Page, trotzdem habe ich einmal eine kurze Installationsanleitung erstellt, wie man unter Windows einen Webserver (in meinem Fall Xitami) mit PHP und einem MySQL-Server zum laufen bringt. Link zu den erwähnten Dateien sind am Ende der Dokumentation. Zuerst muss der Xitami Webserver installiert werden. Dabei können die Standardoptionen des Setups übernommen werden. Nachdem die Installation beendet und der Webserver gestartet (X auf grünem Hintergrund als Tray-Icon), kann einmal die reine Webserver-Funktionalität getestet werden. Dazu ruft man im Webbrowser die URL http://localhost auf. Es sollte nun die Willkommenseite von Xitami erschienen (blauer Seitenhintergrund). Ist dies der Fall, so kann der Browser wieder geschlossen und der Webserver beendet werden (Rechtsklick auf Tray-Icon und "Terminate"). Nun kann man mit der Installation von PHP beginnen. Hier lädt man sich am besten die Installer-Version runter, z.B. php-4.3.2-installer.exe. Auch hier kann man zum Grossteil mit den Standard-Angaben installieren. Die Informationen zum Mailserver und Mailadresse müssen angepasst werden. Ebenfalls muss unter "Server Type" Xitami gewählt werden. Um die Installation zu testen, erstellt man am besten eine Datei info.php im webpages-Verzeichnis von Xitami mit folgendem Inhalt:<html> <body> <?php phpinfo(); ?> </body> </html> Danach kann man mit der URL http://localhost/info.php die Installation testen. Möglicherweise sind noch einige Anpassungen in der php.ini in Windows-Verzeichnis notwendig. Die wichtigsten: error_reporting =E_ALL & ~E_NOTICE register_globals = On Im letzten Schritt muss noch die MySQL-Datenbank installiert und konfiguriert werden: Auch dioses Setup lässt sich mit den Standard-Einstellungen durchführen (Typical). Nach der Installation muss der Server durch die Datei mit mysqld-shareware.exe --standalone im bin-Verzeichnis gestartet werden. Die Datei infolist.txt im Hauptverzeichnis von MySQL enthält weitere Informationen, wie man MySQL als Service einrichten könnte. Für die Administration des MySQL-Servers benutze ich am liebsten MySQL-Front, welches leider mittlerweile nicht mehr entwickelt wird, jedoch immer noch im Netz umherrschwirrt. MySQL Administrator und MySQL Query Browser direkt von MySQL (Link am Ende der Dokumentation) sind aber auch nicht schlecht. Zuerst erstellen wir mit CREATE TABLE sqltest (name VARCHAR (30) DEFAULT '0', vorname VARCHAR (30) DEFAULT '0') eine neue Tabelle "sqltest" für unseren ersten Test. Nun zwei kleine PHP-Scripts, welche die Datenbank abfüllen und wieder auslesen: writesql.php
<html>
<body>
MySQL-Test: Teil 1 - Datensätze schreiben
<?php
$mySQLserver="localhost";
$mySQLdatabase="test";
$mySQLuser="root";
$mySQLpass="";
$testdb = mysql_connect($mySQLserver, $mySQLuser, $mySQLpass) or die("Keine Verbindung möglich!");
mysql_select_db("$mySQLdatabase") or die("Auswahl der Datenbank fehlgeschlagen");
$query = "INSERT INTO sqltest (name, vorname) VALUES ('Muster', 'Hans')";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen");
$query = "INSERT INTO sqltest (name, vorname) VALUES ('Müller', 'Peter')";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen");
$query = "INSERT INTO sqltest (name, vorname) VALUES ('Meier', 'Fritz')";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen");
mysql_close($testdb);
?>
</body>
</html>
readsql.php
<html>
<body>
MySQL-Test: Teil 2 - Datensätze lesen
<table border="1">
<?php
$mySQLserver="localhost";
$mySQLdatabase="test";
$mySQLuser="root";
$mySQLpass="";
$testdb = mysql_connect($mySQLserver, $mySQLuser, $mySQLpass) or die("Keine Verbindung möglich!");
mysql_select_db("$mySQLdatabase") or die("Auswahl der Datenbank fehlgeschlagen");
$query = "SELECT * FROM sqltest ORDER BY name";
$result = mysql_query($query) or die("Anfrage fehlgeschlagen");
while($dbfields = mysql_fetch_array($result))
{ print "<TR><TD>$dbfields[name]</TD><TD>$dbfields[vorname]</TD></TR>"; }
mysql_free_result($result);
mysql_close($testdb);
?>
</table>
</body>
</html>
Wichtig: cgicorner.ch ist keine Seite, die sich mit der PHP-Entwicklung befasst. Diese Dokumentation wurde als "Off-Topic" ins Netz gestellt. Für Fragen rund um PHP existieren im Internet bessere Seiten.
Dieser Artikel wurde zugesandt von: Jürg Sommer, knowledge@cgicorner.ch Weiterführende Links:
|
||||||