phpbar.de logo

Mailinglisten-Archive

[php] Bei mir passiert nichts

[php] Bei mir passiert nichts

Peaveway_(at)_aol.com Peaveway_(at)_aol.com
Sun, 21 Jan 2001 09:25:12 EST


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