copyright (c)  2003   useGroup
PHP

Jochen Stärk
PHP-Tutorial
Ein eigenes Testsystem aufbauen

nach untenUnter Windows, mit PHPTriad
nach untenUnter Windows, mit MySQL
nach untenDie benötigten Dateien
nach untenInstallationsverlauf
nach untenODBC
nach untenDie empfohlenen Dateien installieren

Unter Windows, mit PHPTriad

nach obenUnter Windows, mit PHPTriad 

Es gibt mehrere Projekte, die eine Zusammenstellung von PHP, MySQL und Apache für Windows vorkonfigurieren. Mit dieser Zusammenstellung kann man sich Konfigurationsaufwand sparen, aber z.B. eine neue PHP-Version sind unter Umständen nicht so leicht einzuspielen wie selbst-eingebundene. In PHPTriad (ca. 14MB), geht das aber auch relativ leicht indem man das php-Verzeichnis löscht und dann die Original-PHP-Version von php.net dorthin installiert.


Unter Windows, mit MySQL

nach obenUnter Windows, mit MySQL 

Ohne PHPTriad ist der Konfigurationsaufwand augenfällig - dabei legt PHP dem Konfigurierenden weniger Steine in den Weg als die Zusammenarbeit mit Datenbank, ODBC-Treibern und Webserver. Dennoch lohnt sich die Sache, denn wer mit PHP erstmal richtig loslegt ist wird den Konfigurationsaufwand schnell vergessen haben.


Die benötigten Dateien

nach obenDie benötigten Dateien 

Der Apache-Server für Window (no_src, MSI für Microsoft-Installer), ca. 2MB

PHP 4 für Windows, ca. 1MB

MySQL Standard binary (tarball) distributions; Windows (Intel), ca. 9,5Mb

(optional) MyODBC, ODBC-Treiber für mySQL, ca. 1,7Mb

(Empfehlung) PhpMyAdmin: Tool (in PHP geschrieben), das es erlaubt, neue Tabellen anzulegen, anzusehen, zu löschen u.m., ca. 100kb

(Empfehlung) MySQL Front: in etwa PhpMyAdmin als Exe, allerdings sind die Eingabemöglichkeiten für neue Datensätze besser gelöst, ca. 1Mb


Installationsverlauf

nach obenInstallationsverlauf 

Apache zum Laufen bringen

Installieren Sie den Apache-Server.

Wenn Sie diesen in einer Eingabeaufforderung aufrufen, sollten Sie die Meldung "Apache.Exe: cannot determine local host name" erhalten. Um diesen "Fehler" zu beheben, editieren Sie bitte im Apache\Conf - Verzeichnis die httpd.conf. Suchen Sie nach der Zeile
#ServerName new.host.name
und ändern Sie sie in
ServerName new.host.name
Auf deutsch: machen Sie aus der auskommentierten Zeile wieder eine normale Zeile der Konfigurationsdatei.

Mit der geänderten Konfigurationsdatei lässt sich Apache dann auch starten. (das Fenster mit der Ausgabe Apache/1.3.12 (Win32) running... bitte nicht schließen). Beenden lässt es sich nebenbei entweder mit STRG+C oder (sauberer) mit dem Aufruf von apache -k shutdown (z.b. aus einer anderen Eingabeaufforderungsbox).

PHP zum Laufen bringen

Entpacken Sie PHP z.b. in (ein neu erstelltes) Apache-Unterverzeichnis PHP.

Benennen Sie php.ini-dist um in php.ini und kopieren Sie diese Datei in ihr Windows\System Verzeichnis.

Beachten Sie dabei, dass der "session.save_path" auf dem Verzeichnis /tmp liegt, sollten Sie also kein Verzeichnis C:\tmp haben (gesetzt der Fall Sie installieren in C) können Sie nichts mit Sessions anfangen, so lange Sie es nicht angelegt oder den session save path geändert haben.

Sie können jetzt PHP.exe aufrufen, es sollte ohne Ausgabe einfach nur auf Eingaben warten. Auch PHP kann man mit STRG+C "schießen". PHP muss noch in die Konfigurationsdatei von Apache eingebunden werden, das laufende PHP also bitte wieder beenden.

Suchen Sie in der apache\conf\httpd.conf nach "addtype" und fügen Sie hinter dem auskommentieren AddType die Zeilen ein
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .php3
Diese Zeile sagt Apache, dass .php-Dateien vom Typ application/x-httpd-php4 sind.

Jetzt brauchen wir noch ein ScriptAlias mit der Zeile
ScriptAlias /php/ "C:/Apache/php/"
das PHP sagt, dass der Pfad C:\Apache\php\ (sofern das Ihr Installationsverzeichnis ist) dateien enthält, die ausgeführt werden müssen, um Skripte zu behandel und den PHP-Typ verknüpfen wir mit der Zeile
Action application/x-httpd-php /php/php.exe
mit PHP. (im Skriptverzeichnis /php/ also in c:\apache\php)

Wir brauchen jetzt schnell eine Testdatei um PHP zu testen, z.b.

<html>
<?
  echo "hello world";
?>
</html>
Als Dateiname wählen wir test.php und speichern es im Apache\htdocs Pfad.

Falls Sie offline sind, erzählen Sie Ihrem Browser jetzt etwas anderes: für den folgenden Aufruf müssen sie nicht zwangsläufig eine Internetverbindung herstellen, auch wenn einige Browser Sie das glaubend machen sollen. Unter dem Internet Explorer entfernen Sie z.b. das Häkchen Offlinebetrieb.

Um Apache zu testen rufen Sie jetzt in Ihrem Web-Browser die Adresse http://localhost auf, es sollte eine Ausgabe kommen, die mit "Es klappt! Der Apache Web-Server ist auf dieser Web-Site installiert! " anfängt. Das ist Ihr Server. Die Adresse http://localhost/test.php sollte dann hello world anzeigen.

Falls das nicht klappt, sind die Apache-Logdateien in Apache\Logs oft eine wertvolle Hilfe (diese werden teilweise erst nach beenden von Apache geschrieben). Denken Sie bitte daran, nach jeder Veränderung in den \conf-Dateien Apache zu beenden und neu zu starten damit die Änderungen wirken können.

Eine "korrekte" conf-datei für Apache 1.3.12 im Verzeichnis c:\temp\apache und PHP 4.02 im Verzeichnis c:\temp\apache\php finden Sie hier.

mySQL zum Laufen bringen

Allerdings ist das nicht der eigentliche Nutzen von PHP, jetzt installieren wir die Datenbank.

Entpacken und installieren Sie mySQL (Am besten benutzen Sie das vorgegebene Verzeichnis c:\mysql\). Sollten Sie in ein anderes Verzeichnis installieren müssen Sie die "basedir" in c:\windows\my.ini anpassen.

Starten Sie winmysqladmin.exe (im Verzeichnis bin) und geben Sie einen Benutzernamen und Passwort ein. Eine grüne Ampel in der Taskleiste zeigt ein laufendes MySQL. Klicken Sie auf die Ampel und auf "Show Me", wählen Sie den Reiter "Databases" und klicken Sie rechts auf den als "Databases" eingezäunten bereich, wählen Sie Create Database und als Namen z.b. testdb.

Damit haben wir ein laufendes PHP auf einem laufenden Webserver mit einer laufenden Datenbank, die wir mit den MySQL-Befehlen in PHP schon ansprechen könnten.


ODBC

nach obenODBC 

ODBC zum Laufen bringen

Jetzt kommt das optionale ODBC (Ansonsten greifen Sie bitte auf die Befehle in der kleinen MySQL-Referenz zurück): entpacken und installieren Sie myODBC. In Start/Einstellungen/Systemsteuerung/ ODBC Datenquellen wählen Sie jetzt bitte hinzufügen, mySQL. Was kommt, sollten Sie ausfüllen wie im Bild rechts.

Windows DSN Name ist die Angabe wie Sie die Datenbank ab jetzt unter ODBC ansprechen können (dieser Namen muss nicht mit mySQL database-name übereinstimmen), User und Passwort richten sich natürlich nach Ihrer mySQL-Installation.

ändern wir jetzt test.php in Richtung ODBC:
<html>
Starting PHP4....
<?php
$dbh = odbc_connect('testdb', 'aname', 'apwd', SQL_CUR_USE_ODBC);
echo "Connected to db $dbh<br/>";
$query = "create table dtab (chk integer, chkchr char(20))";
$res = odbc_exec($dbh, $query);
echo "table created<br/>";
$query = "insert into dtab values (42,'stringtotest')";
$res = odbc_exec($dbh, $query);
$query = "select * from dtab";
$res = odbc_exec($dbh, $query);
echo "number of rows:".odbc_num_rows($res)." <br/> ";
for ($i=0; $i<odbc_num_rows($res); $i++) 
{
$result= odbc_fetch_row($res, $i);
$st= odbc_result($res, 'chk');

echo "$i:res=$st <br/>";
}

odbc_close_all();
?>
... PHP4 concluded.
</html>
Die Ausgabe
 Starting PHP4.... Connected to db 1
 table created
 number of rows:1 
 0:res=42 
... PHP4 concluded. 
Zeigt, dass alles funktioniert (Eine Tabelle mit der Spalte Res wird angelegt, eine Zeile mit dem Wert 42 eingefügt und dei gesamte Tabelle selektiert und ausgegeben: Die 0te Zeile enthält tatsächlich den Wert 42 für den Integer Res.). Bitte entfernen Sie nicht winmysqladmin aus dem Autostart, mySQL muss jedemal wenn ein Datenbankzugriff erfolgen soll, gestartet sein, ebenso wie Apache.


Die empfohlenen Dateien installieren

nach obenDie empfohlenen Dateien installieren 

PhpMyAdmin entpacken Sie einfach in ein Unterverzeichnis Ihres htdocs-Verzeichnis Ihres Webservers und rufen die index.php3 im entsprechenden Verzeichnis auf.

MySQLFront ist eine "normales" Programm, entpacken Sie es einfach in das gewünschte Zielverzeichnis.


copyright (c)  2003   useGroup