- #1
C
connyas
Bekanntes Mitglied
Themenersteller
- Dabei seit
- 04.12.2004
- Beiträge
- 5.463
- Reaktionspunkte
- 0
- Ort
- Stuttgart
!! HINWEIS !!
Wie sich gezeigt hat, gibt es Probleme mit der Kombination Apache 2.2.x und PHP 5.1.x.
Diese Tutorialserie beschreibt die Installation von Apache 2.0.x und PHP 5.0.x.
Wer nicht unbedingt auf den neuesten Apache angewiesen ist, sollte vorerst bei der Version 2.0.x bleiben.
Wenn die Schwierigkeiten alle beseitigt sind werde ich die Tutorials überarbeiten
Dieses Tutorial beschreibt die Einrichtung einer lokalen Testumgebung und ist eine Ergänzung zu dem bereits erschienenen Apache PHP-Guide von Wintotal-Mitglied BeBo.
=> http://www.wintotal-forum.de/index.php/topic,7407.0.html
Dieses Tutorial ist in 3 Teilbereiche gegliedert:
1. Installation und Konfiguration Apache-Webserver Version 2.0.x
2. Installation und Konfiguration PHP 5.0.x
3. Installation und Konfiguration MySQL-Server 4.1.x
Wegen des Umfangs habe ich mich dazu entschieden, diese 3 Kapitel auch in einzelne Threads aufzuteilen.
Hinweis:
Alle Pfadangaben beziehen sich auf meine Testumgebung, und müßen angepasst werden !
2. Installation und Konfiguration PHP 5.0.x
Am Anfang aller Arbeit steht wie immer erst einmal der Download der neuesten PHP Version.
=> http://de3.php.net/downloads.php
Hier bitte unter: PHP => Windows Binaries => die Version PHP x.x.x zip package wählen.
Ich persönlich bin kein Freund von der Installer-Version, daher Installieren wir PHP zu Fuß.
Damit wir später auch gleich eine Dokumentation für PHP zur Hand haben, laden wir uns diese auch gleich runter.
=> http://www.php.net/download-docs.php (Deutsches Manual)
Hier werden 3 Verschiedene PHP-Manuals angeboten. Ich persönlich bevorzuge das Windows HTML Help Format.
Zum Einbinden des Manuals in die Serverkonfiguration, ist das Format Many HTML files zu empfehlen. (mindestens diese bitte downloaden)
Die 3. Möglichkeit ist meines Erachtens nicht zu empfehlen, da man dort ständig am Scrollen ist.
Sind alle benötigten Dateien runter geladen worden, können wir sie in unser Server-Verzeichnis entpacken.
Zur Erinnerung an Teil 1 des Tutorials, wir installieren Apache, PHP und MySQL in das Verzeichnis d:\server.
Unsere Verzeichnisstruktur sollte dann so aussehen:
D:\Server\Apache2
D:\Server\php5 (das PHP Paket)
D:\Server\Manuals\php (das Many HTML files Manual)
Bitte Verzeichnisnamen so anpassen, wie es hier steht, damit im weiteren Verlauf keine Missverständnisse aufkommen!
Zusätzlich legen wir nun noch 3 neue Verzeichnisse im Server-Verzeichnis an:
1. D:\Server\php_session_tmp (das Verzeichnis, in dem die Sessiondaten geschrieben werden)
2. D:\Server\upload_tmp (das Verzeichnis, in dem Uploads temporär gespeichert werden)
3. D:\Server\php_includes (Verzeichnis in dem nach evtl. Include Dateien gesucht wird)
Nachdem alle Vorbereitungen getätigt wurden, können wir nun mit der eigentlichen Konfiguration beginnen.
Konfiguration
Hinweis:
Um eine spätere Diskussion zu vermeiden, möchte ich hier kurz anmerken, dass es verschiedene Möglichkeiten gibt, um PHP das Laufen zu lernen. Aber um alle Möglichkeiten zu erwähnen, bzw. zu erklären, fehlt mir a) die Lust und b) die Zeit.
Als erstes muß die php.ini.dist in unserem PHP-Verzeichnis D:\Server\php5 in php.ini umbenannt werden. Diese dann mit einem beliebigen Texteditor öffnen.
Abschnitt: Paths and Directories
Eintrag => include_path
Alt
Neu
Eintrag => extension_dir
Alt
Neu
Abschnitt: File Uploads
Eintrag => upload_temp_dir
Alt
Neu
Abschnitt: Dynamic Extensions
Was sind Dynamic Extensions?
Dynamic Extensions sind die Bibliotheken die den Standard-Befehlssatz erweitern.
Z.B. kennt PHP per Standardeinstellung keine MySQL-Syntax.
Die von PHP mitgelieferten Extensions befinden sich im Verzeichnis D:\Server\php5\ext.
Würde die Mysql-Extension nicht eingebunden werden, würde bei dem Befehl:
eine Fehlermeldung kommen, da PHP nichts mit mysql_query anfangen kann.
Hinweis:
Bis zur Version PHP 4.x war MySQL per Default in PHP integriert, eine Extension wurde nicht benötigt.
Hinweis:
Außer den im Standardumfang enthaltenen PHP-Erweiterunge gibt es noch eine Reihe zusätzlicher Erweiterungen z.B. das PECL-Packet, in dem eine Reihe von Erweiterungen zum Download zusammengefasst wurden. Das PECL-Packet ist auf der Downloadseite von PHP separat aufgeführt.
Welche Extensions nun eingebunden werden, muss jeder für sich selbst entscheiden.
Anzumerken währe an dieser Stelle noch, dass manche Extensions die in der php.ini vorgegeben sind in Abhängigkeit zu anderen Bibliotheken stehen.
Diese müssen evtl. beim jeweiligen Anbieter separat downgeloadet werden.
Für unsere Beispiel-Testumgebung sollten folgende Extensions genügen. Diese bitte aktivieren.
(Aktivieren = Führendes Semikolon ; entfernen)
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_ming.dll
extension=php_mysql.dll
Abschnitt: Module Settings
Modul => Sessions
Alt
Neu
Dies waren alle Einstellungen, die an der php.ini geändert werden müssen. Hier kommt es wie gesagt auf die jeweiligen Gegebenheiten drauf an, eine Universal-Konfiguration gibt es leider nicht.
Zum Abschluss der Konfiguration müssen noch einige *.dll aus dem PHP-Verzeichnis in das Windows-Verzeichnis kopiert werden. Da ich diese Spielchen gerne nur einmal mache, und viel an meiner Konfiguration rumschraube, kopiere ich gleich zu beginn alle. Somit habe ich bei evtl. Änderungen meine Ruhe.
Dies betrifft (z.Zt):
fdftk.dll, fribidi.dll, gds32.dll, libeay32.dll, libmhash.dll, libmysql.dll, msql.dll, ntwdblib.dll, ssleay32.dll, yaz.dll.
Wie gesagt, werden momentan noch nicht alle *.dlls benötigt, aber schaden kann es nicht.
Apache lernt PHP sprechen
Damit der Apache Webserver auch weis, was er mit PHP Dateien anfangen soll, müssen wir es ihm beibringen. Dazu bitte die httpd.conf aus dem Verzeichnis D:\Server\Apache2\conf in einem beliebigen Texteditor öffnen.
=> Bitte Sicherungskopie nicht vergessen.
Nach dem letzten LoadModule Eintrag folgende Zeilen einfügen.
Eintrag => DirectoryIndex
Alt
Neu
Damit wir das PHP-Manual immer über http://localhost/php_doc aufrufen können, fügen wir noch einen Alias für das Manual hinzu.
Nach dem Eintrag:
Folgendes einfügen.
Dies waren alle Änderungen die an der httpd.conf durchgeführt werden müssen.
Der Apache muß nun neu gestartet werden.
Zum testen unserer PHP-Konfiguration erstellen wir uns eine erste *.php Datei und speichern sie als info.php in unserem DocumentRoot H:\htdocs\info.php ab.
Dazu einen beliebigen Texteditor aufrufen und folgenden Code eingeben.
Test
Zuerst testen wir unsere eigentliche PHP-Installation durch Aufruf der zuvor erstellten Datei im Web-Browser => http://localhost/info.php
Als nächstes testen wir ob unser PHP-Manual aufgerufen werden kann => http://localhost/php_doc
Sind die Tests erfolgreich, ist die PHP-Installation hiermit abgeschlossen.
Probleme bei der Installation, schau mal hier rein
http://www.wintotal-forum.de/index.php/topic,76380.0.html
Gruss Conny
Wie sich gezeigt hat, gibt es Probleme mit der Kombination Apache 2.2.x und PHP 5.1.x.
Diese Tutorialserie beschreibt die Installation von Apache 2.0.x und PHP 5.0.x.
Wer nicht unbedingt auf den neuesten Apache angewiesen ist, sollte vorerst bei der Version 2.0.x bleiben.
Wenn die Schwierigkeiten alle beseitigt sind werde ich die Tutorials überarbeiten
Dieses Tutorial beschreibt die Einrichtung einer lokalen Testumgebung und ist eine Ergänzung zu dem bereits erschienenen Apache PHP-Guide von Wintotal-Mitglied BeBo.
=> http://www.wintotal-forum.de/index.php/topic,7407.0.html
Dieses Tutorial ist in 3 Teilbereiche gegliedert:
1. Installation und Konfiguration Apache-Webserver Version 2.0.x
2. Installation und Konfiguration PHP 5.0.x
3. Installation und Konfiguration MySQL-Server 4.1.x
Wegen des Umfangs habe ich mich dazu entschieden, diese 3 Kapitel auch in einzelne Threads aufzuteilen.
Hinweis:
Alle Pfadangaben beziehen sich auf meine Testumgebung, und müßen angepasst werden !
2. Installation und Konfiguration PHP 5.0.x
Am Anfang aller Arbeit steht wie immer erst einmal der Download der neuesten PHP Version.
=> http://de3.php.net/downloads.php
Hier bitte unter: PHP => Windows Binaries => die Version PHP x.x.x zip package wählen.
Ich persönlich bin kein Freund von der Installer-Version, daher Installieren wir PHP zu Fuß.
Damit wir später auch gleich eine Dokumentation für PHP zur Hand haben, laden wir uns diese auch gleich runter.
=> http://www.php.net/download-docs.php (Deutsches Manual)
Hier werden 3 Verschiedene PHP-Manuals angeboten. Ich persönlich bevorzuge das Windows HTML Help Format.
Zum Einbinden des Manuals in die Serverkonfiguration, ist das Format Many HTML files zu empfehlen. (mindestens diese bitte downloaden)
Die 3. Möglichkeit ist meines Erachtens nicht zu empfehlen, da man dort ständig am Scrollen ist.
Sind alle benötigten Dateien runter geladen worden, können wir sie in unser Server-Verzeichnis entpacken.
Zur Erinnerung an Teil 1 des Tutorials, wir installieren Apache, PHP und MySQL in das Verzeichnis d:\server.
Unsere Verzeichnisstruktur sollte dann so aussehen:
D:\Server\Apache2
D:\Server\php5 (das PHP Paket)
D:\Server\Manuals\php (das Many HTML files Manual)
Bitte Verzeichnisnamen so anpassen, wie es hier steht, damit im weiteren Verlauf keine Missverständnisse aufkommen!
Zusätzlich legen wir nun noch 3 neue Verzeichnisse im Server-Verzeichnis an:
1. D:\Server\php_session_tmp (das Verzeichnis, in dem die Sessiondaten geschrieben werden)
2. D:\Server\upload_tmp (das Verzeichnis, in dem Uploads temporär gespeichert werden)
3. D:\Server\php_includes (Verzeichnis in dem nach evtl. Include Dateien gesucht wird)
Nachdem alle Vorbereitungen getätigt wurden, können wir nun mit der eigentlichen Konfiguration beginnen.
Konfiguration
Hinweis:
Um eine spätere Diskussion zu vermeiden, möchte ich hier kurz anmerken, dass es verschiedene Möglichkeiten gibt, um PHP das Laufen zu lernen. Aber um alle Möglichkeiten zu erwähnen, bzw. zu erklären, fehlt mir a) die Lust und b) die Zeit.
Als erstes muß die php.ini.dist in unserem PHP-Verzeichnis D:\Server\php5 in php.ini umbenannt werden. Diese dann mit einem beliebigen Texteditor öffnen.
Abschnitt: Paths and Directories
Eintrag => include_path
Alt
Code:
;include_path = .;c:\php\includes
Code:
include_path = .;D:\Server\php_includes
Eintrag => extension_dir
Alt
Code:
extension_dir = ./
Code:
extension_dir = D:\Server\php5\ext
Abschnitt: File Uploads
Eintrag => upload_temp_dir
Alt
Code:
;upload_tmp_dir =
Code:
upload_tmp_dir = D:\Server\upload_tmp
Abschnitt: Dynamic Extensions
Was sind Dynamic Extensions?
Dynamic Extensions sind die Bibliotheken die den Standard-Befehlssatz erweitern.
Z.B. kennt PHP per Standardeinstellung keine MySQL-Syntax.
Die von PHP mitgelieferten Extensions befinden sich im Verzeichnis D:\Server\php5\ext.
Würde die Mysql-Extension nicht eingebunden werden, würde bei dem Befehl:
Code:
<?php
...
mysql_query(Select irgendwas von irgendwo);
...
?>
Hinweis:
Bis zur Version PHP 4.x war MySQL per Default in PHP integriert, eine Extension wurde nicht benötigt.
Hinweis:
Außer den im Standardumfang enthaltenen PHP-Erweiterunge gibt es noch eine Reihe zusätzlicher Erweiterungen z.B. das PECL-Packet, in dem eine Reihe von Erweiterungen zum Download zusammengefasst wurden. Das PECL-Packet ist auf der Downloadseite von PHP separat aufgeführt.
Welche Extensions nun eingebunden werden, muss jeder für sich selbst entscheiden.
Anzumerken währe an dieser Stelle noch, dass manche Extensions die in der php.ini vorgegeben sind in Abhängigkeit zu anderen Bibliotheken stehen.
Diese müssen evtl. beim jeweiligen Anbieter separat downgeloadet werden.
Für unsere Beispiel-Testumgebung sollten folgende Extensions genügen. Diese bitte aktivieren.
(Aktivieren = Führendes Semikolon ; entfernen)
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_ming.dll
extension=php_mysql.dll
Abschnitt: Module Settings
Modul => Sessions
Alt
Code:
;session.save_path = /tmp
Code:
session.save_path = D:\Server\php_session_tmp
Dies waren alle Einstellungen, die an der php.ini geändert werden müssen. Hier kommt es wie gesagt auf die jeweiligen Gegebenheiten drauf an, eine Universal-Konfiguration gibt es leider nicht.
Zum Abschluss der Konfiguration müssen noch einige *.dll aus dem PHP-Verzeichnis in das Windows-Verzeichnis kopiert werden. Da ich diese Spielchen gerne nur einmal mache, und viel an meiner Konfiguration rumschraube, kopiere ich gleich zu beginn alle. Somit habe ich bei evtl. Änderungen meine Ruhe.
Dies betrifft (z.Zt):
fdftk.dll, fribidi.dll, gds32.dll, libeay32.dll, libmhash.dll, libmysql.dll, msql.dll, ntwdblib.dll, ssleay32.dll, yaz.dll.
Wie gesagt, werden momentan noch nicht alle *.dlls benötigt, aber schaden kann es nicht.
Apache lernt PHP sprechen
Damit der Apache Webserver auch weis, was er mit PHP Dateien anfangen soll, müssen wir es ihm beibringen. Dazu bitte die httpd.conf aus dem Verzeichnis D:\Server\Apache2\conf in einem beliebigen Texteditor öffnen.
=> Bitte Sicherungskopie nicht vergessen.
Nach dem letzten LoadModule Eintrag folgende Zeilen einfügen.
Code:
#
# PHP5 Konfiguration Anfang
#
LoadModule php5_module D:/Server/php5/php5apache2.dll
AddType application/x-httpd-php .php
PHPIniDir D:/Server/php5
#
# PHP5 Konfiguration Ende
#
Eintrag => DirectoryIndex
Alt
Code:
DirectoryIndex index.html index.html.var
Neu
Code:
DirectoryIndex index.html index.html.var index.php
Damit wir das PHP-Manual immer über http://localhost/php_doc aufrufen können, fügen wir noch einen Alias für das Manual hinzu.
Nach dem Eintrag:
Code:
Alias /icons/ D:/Server/Apache2/icons/
<Directory D:/Server/Apache2/icons>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Folgendes einfügen.
Code:
#
# PHP-Manual
#
Alias /php_doc D:/Server/Manuals/php/
<Directory D:/Server/Manuals/php/>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Dies waren alle Änderungen die an der httpd.conf durchgeführt werden müssen.
Der Apache muß nun neu gestartet werden.
Zum testen unserer PHP-Konfiguration erstellen wir uns eine erste *.php Datei und speichern sie als info.php in unserem DocumentRoot H:\htdocs\info.php ab.
Dazu einen beliebigen Texteditor aufrufen und folgenden Code eingeben.
Code:
<?php
phpinfo();
?>
Test
Zuerst testen wir unsere eigentliche PHP-Installation durch Aufruf der zuvor erstellten Datei im Web-Browser => http://localhost/info.php
Als nächstes testen wir ob unser PHP-Manual aufgerufen werden kann => http://localhost/php_doc
Sind die Tests erfolgreich, ist die PHP-Installation hiermit abgeschlossen.
Probleme bei der Installation, schau mal hier rein
http://www.wintotal-forum.de/index.php/topic,76380.0.html
Gruss Conny
Zuletzt bearbeitet von einem Moderator: