Mailinglisten-Archive |
Moin, In einer eMail vom 21.01.01 14:48:26 (MEZ) Mitteleuropäische Zeit schreibt ULLLIIII_(at)_TKKG-Kirchhellen.de: > Erstmal sollte ich sagen, dass ich ein absoluter > PHP-Newbie bin, es aber umbedingt lernen will. Jeder hat mal angefangen also willkommen im Club ;) > Zum Thema: > > PHP habe ich soweit fehlerfrei installiert bekommen. > Jetzt habe ich bloß das Problem, dass, wenn ich eine > PHP-Datei ausführe, ein DOS-Fenster geöffnet wird und > - soweit ich das erkennen konnte - darin was geschrie- > ben wird, danach aber passiert gar nichts mehr. In der Regel setzten die Leute ihr PHP als Teil des Webservers ein weil es ja in den meisten Faellen auch um Web/HTML Applikationen geht. Aber auch der Einsatz als normales Script ausgefuehrt ueber eine Kommandozeile/Shell ist moeglich (erfodert das der PHP Interpretor als Binary vorliegt) . Was dir fehlt ist ein Webserver www.apache.org www.php4win.de www.php.net Und eine kurze Anleitung. Apache unter Windows installieren: Installieren Sie die Software z.B. nach 'c:\programme\apache'. Ändern Sie den vorgeschlagenden Pfad 'Apache Group' bitte ab denn wo immer es geht wollen wir Leerzeichen im Zusammenhang mit URL`s und HTML Geschichten vermeiden ;). Über 'Custom Setup' wählen Sie nur die benötigten Packete aus und installieren diese. Genau wie bei der Unix Installation tragen Sie in der Konfigurationsdatei 'c:\progamme\apache\conf\httpd.conf' nur den Servernamen (Zeile ~295) nach, speichern diese und versuchen den Webserver zustarten. Das tun sie am besten in dem Sie über 'Start | Ausführen' eine Commandshell aufrufen. Unter Windows 9.x heißt diese defaultmäßig 'command' während dessen sie bei Windows NT 'cmd' benutzen können/sollten. Wechseln Sie in das Verzeichnis in dem die Apachesoftware installiert wurde und starten bitte die 'apache.exe'. Alternativ kann man dies auch über den Explorer tun. Es sollte ein DOS Fenster sich nun öffnen in dem 'Apache/1.3.14 (Win32) running...' steht. Der Vorteil dieser Variante liegt darin das im Falle eines Fehlers, z.B. in der Konfigurationsdatei, sich das Fenster nicht wieder in Sekundenschnelle schließt sondern offen bleibt und sie evtl. Fehlermeldungen lesen können. Anmerkung: Mit der Version 1.3.14 ist dies durch den Einbau eines Timer von 30 Sekunden dieses Verhalten verbessert worden. Später kann man natürlich die Einträge im Startmenü 'Apache Start' oder aber die Möglichkeit eine Dienstes (nur WindowsNT, W2K) nutzen. Genau wie unter Unix beschrieben versuchen Sie nun bitte die Startseite des Apachen aufzurufen. Über den Eintrag 'Apache Stoppen' im Startmenü halten Sie den Server wieder an. PHP auf einem Windowssystem installieren: Entpacken Sie das Archiv 'php-4.0.4-Win32.zip' bitte nach 'c:\php'. Machen Sie sich kurz mit der dortigen Verzeichnisstruktur vertraut. Beschreibung: extensions = Enthält eine größere Anzahl vorkompilierter PHP Supportmodule in Form von DLL Dateien. Wir werden später noch in der php.ini darauf zurück kommen. sapi = Für einige Webserver stehen angepasste 'Server Application Programming Interfaces' bereit. Uns interressiert allerdings nur die 'php4apache.dll'. Wer das Package von www.php4win.de benutzt findet hier auch noch eine 'php.exe' die mit 'force-cgi-redirect' übersetzt worden ist. Bei dieser Variante ist auch ein vernüpftiger gebrauch der Variable '$PHP_SELF' möglich. dll = Manche Erweiterungen brauchen ein paar zuzätzliche DLL`s. Bei Bedarf sind diese dann in das <%windir%>/system bzw. unter Windows NT, W2K nach <%windir%>/system32 zukopieren. Die anderen sind vorerst weniger wichtig ;). Im Hauptverzeichnis finden Sie neben der Beschreibung und 2 Beispielkonfigurationsdateien auch noch eine weitere 'php.exe'. Auch hier handelt es sich, wie um die Datei aus dem ISAPI Verzeichniss, um den PHP Interpretor wie man ihn braucht wenn man über das CGI (Common Gateway Interface) des Webservers anzusprechen. Der Unterschied zwischen den beiden besteht darin das die letztere OHNE 'force-cgi-redirect' übersetzt worden ist, denn nicht alle für Windows verfügbaren Webserver können mit dieser Variante umgehen. Kopieren Sie nun die 'php4ts.dll' in ihr <%windir%>/system(32) Verzeichnis. Anschliessend verschieben Sie die 'php.ini-dist' in das <%windir%> Ihrer Installation und benennen diese nach 'php.ini' um. Anmerk: Zu Zeiten von PHP 3 wurde hieß diese Datei php3.ini. Sofern der Webserver noch läuft stoppen Sie ihn bitte und starten ihn erneut. Im DOS Fenster sollte nun der Eintrag 'Apache/1.3.14 (Win32) PHP/4.0.4 running...' erscheinen. PHP und der Webserver - Konfiguration unter Windows: Im Gegensatz zur Unixvariante benötigen wir hier ein paar mehr Schritte. Öffnen Sie die httpd.conf welche unter 'c:\programme\apache\conf' liegt. Fügen Sie die Loadmodule ein. Es befinden sich dort schon eine vielzahl von Apachemodulen die allerdings alle noch auskommentiert sind. LoadModule php4_module c:/php/sapi/php4apache.dll zum laden des Moduls sowie die Anweisung AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps damit der Apache auch weiß das er Dateien mit der Endung .php parsen soll. Wollen Sie das andere Dateiendungen auch durch das PHP Modul bearbeitet werden solllen fügen Sie einfach die gewünschte Dateiextension hinten an ( .php4 .html ..) Wer Probleme mit dem Modul hat kann auch auf das PHP Binary zurück greifen und es mittels des CGI einbinden. Wer möchte kann dies aber auch zusaetzlich tun. Folgende Schritte sind dazu notwendig. ScriptAlias /php4/ "C:/php/" Action application/x-httpd-php4 "/php4/php.exe" AddType application/x-httpd-php4 .php3 Hier wird an die Endung .php3 die Application 'x-httpd-php4' gebunden. Achten Sie unbedingt darauf nicht mehrere AddType Anweisungen mit der gleichen Bezeichnung zuverwenden. Bei Gebrauch der Application führt der Server die Action '/php4/php.exe' aus. Aber statt unter '/php4/php.exe' fündig zuwerden wird er mittels eines ScriptAliases umgeleitet. Auf diese Weise ist es ohne Probleme möglich mit mehrere PHP Versionen zuarbeiten. Zum Schluß setzen wir noch unseren DirectoryIndex index.php index.php3 index.html Die folgenden Änderungen in der php.ini sind Analog zu den modifizierungen wie man sie unter Unix vornimmt. log_errors = on ; error_log = "c:\temp\php_error.log" ; extension_dir = "c:\php\extensions" ; upload_tmp_dir = "c:\temp" ; ;Windows Extensions extension=php_oci8.dll extension=php_oracle.dll Laden Sie nur die Extension die Sie wirklich brauchen und stellen Sie sicher das auch die Voraussetzungen stimmen. Wie schon beschrieben benötigen einige Erweiterungen zusätzliche DLL Dateien und nicht alle werden mit dem PHP Package mitgebracht. Die OCI8 und Oracle Erweiterungen gehören zu diesen 'Ausnahmen'. Die fehlende 'oci.dll' (für das OCI Modul) und die 'ociw32.dll' (für das ORACLE Modul) wird allerdings mit dem Client installiert ohne den sowiso keine Verbindung zu einem Oracle DB Server herstellen können. Anmerkung: Auch hier muss die Errorlog Datei von Hand angelegt werden. Sofern Sie wie oben beschrieben das Modul und das CGI PHP eingebunden haben legen Sie nun im zum Test 2 kleine Datei mit folgendem Inhalt an und rufen diese über ihren Browser auf. Sollte der Webserver noch laufen restarten Sie ihn bitte. phpinfo.php <?php phpinfo(); ?> und das gleiche noch einmal nur unter dem Namen phpinfo.php3 . Beim Aufruf der *.php Datei sehen Sie im oberen Teil der Ausgabe die Angabe 'Server API = Apache' bzw. 'Server API = CGI' beim Aufruf der *.php3 Datei. Auszug aus dem PHP/Oracle Howto von Thomas Fromm und Joerg Behrens Gruss Joerg Behrens -- TakeNet GmbH Mobil: 0171/60 57 963 D-97080 Wuerzburg Tel: +49 931 903-2243 Alfred-Nobel-Straße 20 Fax:+49 931 903-3025
php::bar PHP Wiki - Listenarchive