[TUT] Einrichten einer lokalen Testumgebung - Teil 2 - PHP 5.0.x

  • #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.

=>

Dieses Tutorial ist in 3 Teilbereiche gegliedert:

1.
2. Installation und Konfiguration PHP 5.0.x
3.

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.

=>

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.

=> (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
Neu
Code:
include_path = .;D:\Server\php_includes

Eintrag => extension_dir

Alt
Code:
extension_dir = ./
Neu
Code:
extension_dir = D:\Server\php5\ext

Abschnitt: File Uploads

Eintrag => upload_temp_dir

Alt
Code:
;upload_tmp_dir =
Neu
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);
...
?>
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 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
Neu
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 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 =>

Als nächstes testen wir ob unser PHP-Manual aufgerufen werden kann =>

Sind die Tests erfolgreich, ist die PHP-Installation hiermit abgeschlossen.

Probleme bei der Installation, schau mal hier rein ;)


Gruss Conny
 
Zuletzt bearbeitet von einem Moderator:
  • #2
Conny schrieb:
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.

Hi

Kleiner Fehler im Pfad :)

Gruß, Michael
 
  • #3
So ein kleiner Punkt, und doch so kapitale Auswirkung :'( :'(

Na wenigstens hat's einer Vernünftig durchgelesen ;D ;D

gefixt

gruss conny :'(
 
  • #4
Hi

Danke, schon jetzt mal ein großes Lob an dich für die tollen Tuts. Sehr einfach und fachkundig geschrieben.

Gruß, Michael
 
  • #5
PCDReitz schrieb:
.... Sehr einfach und fachkundig geschrieben. ....

Naja, ich könnte es auch komplizierter machen, 1000 Querverweise einstreuen, oder jeden Schritt mit warum-wieso-weshalb begründen :D

Aber ich für meinen Teil mag eher Tutorials die sich auf das wesentliche konzentrieren.

gruss conny
 
  • #6
Hey, klasse geschrieben, da kann man echt nicht mäckern. Wie du immer so schön gesagt hast:

Wieso eigentlich erst jetzt :D

So wie es aussieht brauch ich ja echt hier nix mehr zu tun. Das Forum ist ja schon fest in Conny Händen *gg* Fachkundiger und schneller Support made by Conny. Jetzt muss er nur noch zum Mod gemacht werden und die anderen können sich getrost zurück lehnen. ;D ;D
 
  • #7
Gandalf_the_Grey schrieb:
....
So wie es aussieht brauch ich ja echt hier nix mehr zu tun. Das Forum ist ja schon fest in Conny Händen *gg* Fachkundiger und schneller Support made by Conny.
....

Uuups, I'm so sorry :'(

interessant.gif


>>> IRONIE

ich kann mich auch in meinem Sessel zurücklehnen und erstmal warten was die anderen so schreiben

&lt;&lt;&lt; IRONIE

gruss conny
 
  • #8
Conny schrieb:
Uuups, I'm so sorry :'(

interessant.gif


>>> IRONIE

ich kann mich auch in meinem Sessel zurücklehnen und erstmal warten was die anderen so schreiben

&lt;&lt;&lt; IRONIE

gruss conny

Bloss nicht!!! Mach weiter wie bisher!!! *gg*
 
  • #9
hi

hab alles so eingestellt wie beschreiben, aber wenn ich die localhost/info.php öffne zeigt er mir im fenster nur den quellltext der datei an dass gleiche mit localhost/myadmin.
ich denke mal es liegt an den dlls die ich ins windows verzeichniss kopieren soll.
meinst du damit c:\windows alle dlls rein?

mfg Th4n4tos
 
  • #11
hi
ja hab alle teile durch geht alles bis auf des php
ich hab alles nen paar mal durchgeschaut kann aber keinen fehler finden.

ich weis halt net genau wo ich mit den dlls vom php ordner hin muss.
einfach in c:\windows ?

mfg Th4n4tos
 
  • #12
  • #13
yup apache läuft :)
hab zwar den pfad d:programme\webserver aber hab alles brav umgeschrieben
 
  • #14
OK, wenn du einen PFAD zum Apache gesetzt hast wie im TUT beschrieben, folgendes:

apache -k stop
apache -k start

Gibt er eine Fehlermeldung aus ???
 
  • #15
rofl beim test wie ichs installiert hab gings jez wenn ich auf ausführen cmd geh und apache -k stop mach sagt er nix mehr. vorher hat er 2 zeihlen geschrieben die ich jez nimmer auswendig weis.


bin mal mit mysql rein und hab des show databases; gemacht

da steht jez

mysql
test

bin mir net sicher aber ich glaub da war vorher php gestanden

jez kapier ichs bald garnimmer
 
  • #16
Was spricht/zeigt er den im Browser wenn du aufrufst ???

Wobei die letzte Zeile wichtig ist. Die sollte so:

Apache/2.0.53 (Win32) PHP/5.0.3 Server at localhost Port 80

aussehen ;)

edit: Vergess MySQL, hat damit rein gar nix zu tun :)
 
  • #17
sry ich glaub ich weis mein prob ich bin beim pfad machen net auf neu machen sondern bearbeiten gegangen :\

is die startseite >>
Es klappt! Der Apache-Webserver ist auf dieser Website installiert!
 
  • #18
OK, so weit so gut.

Also hast du das Standard-Verzeichnis nicht gewechselt :) Richtig ???
 
  • #19
sry bin halt in der sachen der volle noob ich hoffe ich kann mich einigermaßen verständlich machen.

also als adresse hab ich thanatos aber mit localhost bringt er mit die seite auch. und des mit dem cmd und da apache -k stop geh jez leider nicht mehr ging aber schon, aber ich hab ja den monitor noch. =)

mein verzeichniss is d:\programme\webserver \apache2.... | \php5.... usw
 
  • #20
Geh mal mit dem Explorer in das Verzeichnis

d:\programme\webserver\apache2\htdocs

und lösche alles was da drinn ist.

Theoretisch sollten da ein paar Bilder und einige index.html.** sein.
Kann alles weg ;)

Und nu nochmal aufrufen.
 
Thema:

[TUT] Einrichten einer lokalen Testumgebung - Teil 2 - PHP 5.0.x

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben