Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Vorwort
1 Einführung
2 Mathematische und technische Grundlagen
3 Hardware
4 Netzwerkgrundlagen
5 Betriebssystemgrundlagen
6 Windows
7 Linux
8 Mac OS X
9 Grundlagen der Programmierung
10 Konzepte der Programmierung
11 Software-Engineering
12 Datenbanken
13 Server für Webanwendungen
14 Weitere Internet-Serverdienste
15 XML
16 Weitere Datei- und Datenformate
17 Webseitenerstellung mit (X)HTML und CSS
18 Webserveranwendungen
19 JavaScript und Ajax
20 Computer- und Netzwerksicherheit
A Glossar
B Zweisprachige Wortliste
C Kommentiertes Literatur- und Linkverzeichnis
Stichwort

Download:
- ZIP, ca. 26,3 MB
Buch bestellen
Ihre Meinung?

Spacer
IT-Handbuch für Fachinformatiker von Sascha Kersken
Der Ausbildungsbegleiter
Buch: IT-Handbuch für Fachinformatiker

IT-Handbuch für Fachinformatiker
Galileo Computing
ca. 1172 S., 5., aktualisierte und erweiterte Auflage, geb.
ca. 34,90 Euro, ISBN 978-3-8362-1744-6
Pfeil 13 Server für Webanwendungen
Pfeil 13.1 HTTP im Überblick
Pfeil 13.1.1 Ablauf der HTTP-Kommunikation
Pfeil 13.1.2 HTTP-Statuscodes
Pfeil 13.1.3 HTTP-Header
Pfeil 13.2 Der Webserver Apache
Pfeil 13.2.1 Apache im Überblick
Pfeil 13.2.2 Apache-Module
Pfeil 13.2.3 Apache installieren
Pfeil 13.2.4 Apache-Konfiguration
Pfeil 13.3 PHP installieren und einrichten
Pfeil 13.3.1 Installation
Pfeil 13.3.2 Die PHP-Konfigurationsdatei php.ini
Pfeil 13.4 Zusammenfassung

Galileo Computing - Zum Seitenanfang

13.3 PHP installieren und einrichtenZur nächsten Überschrift

Die nächste Komponente Ihres LAMP/WAMP-Systems nach Apache ist der Datenbankserver MySQL, dessen Installation bereits in Kapitel 12, »Datenbanken«, erläutert wurde. Deshalb geht es an dieser Stelle mit der Installation und Konfiguration der Web-Programmiersprache PHP weiter. Die Grundlagen der PHP-Programmierung werden in Kapitel 18, »Webserveranwendungen«, beschrieben.


Galileo Computing - Zum Seitenanfang

13.3.1 InstallationZur nächsten ÜberschriftZur vorigen Überschrift

Es gibt grundsätzlich zwei unterschiedliche PHP-Installationsvarianten: Sie können den Interpreter extern über die CGI-Schnittstelle aufrufen oder aber als Webserver-Modul installieren. Im Folgenden werden beide Methoden beschrieben; die Modulvariante natürlich am Beispiel von Apache 2.

Installation unter Unix

Als Erstes müssen Sie das aktuelle PHP-Sourcecode-Archiv herunterladen. Die Projektwebsite lautet http://www.php.net/. Das aktuelle Release Anfang Juli 2011 ist 5.3.6. Genau wie bei Apache sollten Sie den MD5-Hash der heruntergeladenen Datei mit dem auf der Website angegebenen Wert vergleichen. Danach können Sie das Archiv entpacken:

$ tar xzvf php-5.3.6.tar.gz

beziehungsweise

$ tar xjvf php-5.3.6.tar.bz2

Nun können Sie in das neu erzeugte Source-Verzeichnis wechseln:

# cd php-5.3.6

Als Nächstes wird das configure-Skript aufgerufen. Verschaffen Sie sich zunächst einen Überblick über die verfügbaren Optionen:

$ ./configure --help |less

Da Sie ein LAMP-System installieren möchten, muss mindestens eine der MySQL-Schnittstellen von PHP konfiguriert werden. Dazu muss MySQL bereits auf Ihrem Rechner installiert sein. Es gibt insgesamt drei verschiedene solcher Schnittstellen; die Unterschiede werden in Kapitel 18, »Webserveranwendungen«, erläutert. Für die klassische MySQL-Schnittstelle müssen Sie die Option --with-mysql=MySQL-Installationsverzeichnis angeben. Die beiden anderen Schnittstellen, mysqli oder PDO, benötigen den Pfad zu dem Skript mysql_config im bin-Verzeichnis der MySQL-Installation.

Wenn PHP als Apache 2-Modul laufen soll, ist außerdem die Option --with-apxs2[= /Pfad/zu/apxs] erforderlich. Das »APache eX-tenSion tool« liegt im Apache-bin-Verzeichnis.

Hier sehen Sie einen configure-Aufruf, der die Makefiles zur Installation als Apache 2-Modul mit allen drei MySQL-Schnittstellen in das Basisverzeichnis /usr/local/php5 erstellt, wobei sich apxs unter /usr/local/apache2/bin und MySQL unter /usr/local/mysql befindet:

$ ./configure --prefix=/usr/local/php5 \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo \
--with-pdo-mysql=/usr/local/mysql/bin/mysql_config \
--with-apxs2=/usr/local/apache2/bin/apxs

Nach einem erfolgreichen Durchlauf von configure werden der eigentliche Build-Vorgang und die Installation in das Zielverzeichnis durchgeführt (Letzteres als User root):

$ make
# make install

Falls Sie PHP mit der Option --with-apxs2 konfiguriert haben, müsste Ihre httpd.conf-Datei nun automatisch folgende Zusatzzeile enthalten:

LoadModule php5_module modules/libphp5.so

Zusätzlich müssen Sie dafür sorgen, dass Apache 2 Dateien mit der Endung .php als PHP-Skripte behandelt. Dazu wird (am besten im bereits vorhandenen Container <If-Module mime_module>) die folgende Zeile hinzugefügt:

AddHandler php5-script .php

Falls Sie PHP als CGI-Sprache kompiliert haben, müssen Sie dagegen folgende Zeilen hinzufügen:

ScriptAlias /php/ /usr/local/php5/bin/
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php"

Nach der PHP-Installation müssen Sie Apache einmal ganz beenden und wieder starten; die Option restart genügt leider nicht. Danach können Sie testen, ob PHP funktioniert. Speichern Sie dazu folgende kleine Datei unter dem Namen info.php in Ihrem Website-Verzeichnis:

<?php

phpinfo();

?>

Öffnen Sie dann Ihren Browser, und geben Sie die URL http://localhost/info.php ein. Wenn alles funktioniert hat, müssten Sie ausführliche Informationen über Ihre PHP-Installation enthalten, wie weiter unten in Abbildung 13.1 gezeigt.

Installation unter Windows

Für Windows gibt es PHP als offizielles Binärpaket. Das jeweils aktuelle PHP-Release (zurzeit 5.3.6) wird jeweils in zwei verschiedenen Varianten angeboten:

  • Installer
    Eine ausführbare Datei (.exe), die einfach per Doppelklick gestartet wird. Inzwischen kann der Installer auch automatisch die PHP-Konfiguration als Apache-Modul vornehmen; diese Funktionalität ist allerdings recht neu und funktioniert noch nicht zuverlässig. Deshalb wird die Verwendung des Installers hier nicht weiter erläutert.
  • ZIP-Archiv
    Diese Datei müssen Sie auspacken; anschließend sind einige Konfigurationsschritte erforderlich.

Führen Sie folgende Schritte durch, um PHP aus der ZIP-Datei zu installieren:

  1. Laden Sie die aktuelle Version der Datei herunter (zurzeit php-5.3.6-Win32.zip). Entpacken Sie sie mit dem Windows Explorer, mit WinZip oder einem anderen ZIP-fähigen Programm. Als Verzeichnis empfiehlt sich beispielsweise C:\php5. Die Beschreibung der restlichen Schritte geht davon aus, dass Sie dieses Verzeichnis gewählt haben; andernfalls müssen Sie die Angaben entsprechend anpassen.
  2. Falls Sie PDO und viele weitere interessante PHP-Erweiterungen benötigen, müssen Sie zusätzlich das Paket mit den PECL-Erweiterungen für Windows herunterladen und nach C:\php5\ext entpacken. Die gewünschten Module können Sie danach mit Hilfe von extension-Einträgen in der Datei php.ini aktivieren.
  3. Das PHP-Verzeichnis enthält eine Datei namens php.ini-dist. Es handelt sich um die Standardversion der Konfigurationsdatei php.ini. Kopieren Sie sie nach %SystemRoot% (meist C:\Windows), und benennen Sie sie in php.ini um.
  4. Nehmen Sie an Ihrer neuen php.ini-Datei folgende Änderungen vor (die entsprechenden Zeilen sind bereits enthalten, aber noch nicht mit Pfadangaben versehen):
  5. doc_root = C:\Programme\Apache Software
    Foundation\Apache2\htdocs ; Ihre DocumentRoot
    extension_dir = C:\PHP\ext ; PHP-Extension-Verzeichnis

    Wie Sie sehen, wird in der Windows-Version dieser Datei der systemübliche Backslash (\) als Pfad-Trennzeichen verwendet. Das Semikolon leitet einen Kommentar ein, der bis zum Zeilenende reicht. Wie die Kommentare schon andeuten, müssen Sie die Angaben an Ihr Apache- beziehungsweise PHP-Verzeichnis anpassen.

    Fügen Sie das Verzeichnis C:\php5 zur Umgebungsvariablen PATH hinzu. Dies geschieht unter Start · Systemsteuerung · System · Erweitert · Umgebungsvariablen.
  6. Falls es Startschwierigkeiten gibt, müssen Sie die Datei php5ts.dll aus Ihrem PHP-Verzeichnis nach %SystemRoot%\System32 kopieren. Möglicherweise befindet sich dort nämlich eine ältere Version dieser Datei.
  7. Nehmen Sie zum Schluss folgende Ergänzungen an Ihrer httpd.conf-Datei vor, um PHP als Apache-Modul zu betreiben:
  8. LoadModule php5_module "C:/php5/php5apache2.dll"
    AddHandler php5-script .php

    Für die CGI-Variante werden dagegen folgende Zeilen benötigt:

    ScriptAlias /php/ "C:/php5/"
    AddType application/x-httpd-php .php
    Action application/x-httpd-php "/php/php.exe"

Beenden Sie Apache zum Schluss, und starten Sie ihn wieder. Im Apache-Monitor müsste er sich nun mit einer Versionsangabe wie Apache/2.2.19 (Win32) PHP/5.3.6 melden. Auch den weiter oben bei der Unix-Installation beschriebenen Test mit phpinfo() können Sie durchführen; das Ergebnis sollte etwa so aussehen wie in Abbildung 13.1.

Apache und PHP unter Mac OS X

In Mac OS X 10.6 (Snow Leopard) sind Apache 2.2 und PHP 5.3 bereits ab Werk installiert. Um sie zu aktivieren, starten Sie die Systemeinstellungen im Dock. Wählen Sie Sharing aus dem Abschnitt Internet & Netzwerk, und aktivieren Sie hier das Web Sharing – fertig.

Abbildung

Abbildung 13.1 Die Ausgabe von phpinfo(), hier für die PHP-Version 5.3.3, die mit Mac OS X 10.6 geliefert wird


Galileo Computing - Zum Seitenanfang

13.3.2 Die PHP-Konfigurationsdatei php.iniZur vorigen Überschrift

Wie bereits im Zusammenhang mit der Installation angesprochen wurde, besitzt PHP seine eigene Konfigurationsdatei php.ini. Wie der Dateiname vermuten lässt, wurde ihre Syntax (auch unter Unix) den klassischen Windows-INI-Dateien nachempfunden:

  • Sie enthält verschiedene Abschnitte, die durch Schlüsselwörter in eckigen Klammern gekennzeichnet sind. Beispiel:
[PHP]
  • Jede Einstellung steht in einer eigenen Zeile und hat das Format Name=Wert. Beispiel:
doc_root = /usr/local/apache2/htdocs

Unter Windows wird in Pfaden übrigens, wie bereits erwähnt, der plattformspezifische Backslash (\) verwendet.

  • Ein Semikolon leitet einen Kommentar ein, der bis zum Ende der jeweiligen Zeile reicht. Beispiel:
; doc_root: Die DocumentRoot der Website
doc_root = "C:\Programme\Apache Group\Apache2\htdocs" ; Win32

In Tabelle 13.6 sehen Sie die wichtigsten Optionen für die Datei. Beachten Sie, dass die Syntax in der Regel toleranter ist, als es in der Tabelle den Anschein erweckt. Die Boolean-Alternativen On|Off, "On"|"Off" und "1"|"0" sind beispielsweise in der Regel synonym. Die Angaben stammen aber aus der Originaldokumentation, so dass Sie auf der sicheren Seite sind, wenn Sie sich daran halten.

Tabelle 13.6 Die wichtigsten Optionen für die Datei php.ini

Einstellung Standardwert Erläuterungen
short_open_tag = On|Off On Bestimmt, ob <? ... ?> statt <?php ... ?> erlaubt ist.
asp_tags = On|Off Off Bestimmt, ob die ASP-Syntax <% ... %> statt <?php ... ?> zulässig ist.
max_execution_time 30 maximale Ausführungsdauer von PHP-Skripten in Sekunden, bevor sie abgebrochen werden
precision = "INT" "14" Genauigkeit von Fließkommazahlen als
Ziffernanzahl
y2k_compliance = On|Off Off Jahr-2000-Kompatibilität (funktioniert nur mit neueren Browsern)
expose_php = On|Off On Bestimmt, ob die PHP-Existenz z. B. in den Apache-ServerTokens veröffentlicht wird.
memory_limit = "...M|K|B" "8M"
(8 Megabyte)
Maximale Speichermenge, die ein Skript verbrauchen darf. Existiert nur, wenn PHP mit ??enable-memory-limit kompiliert wurde.
track-vars = "On"|"Off" "On" Anfrage- und Serverdaten werden in
$_ENV
, $_GET, $_POST, $_COOKIE und
$_SERVER
zur Verfügung gestellt.
arg_separator.output = "STRING" "&" Trennzeichen in Query-Strings, die von PHP erzeugt wurden
arg_separator.input = "STRING" "&" Trennzeichen für die Auswertung von Query-Strings (jedes Zeichen des Wertes wird einzeln geprüft, z. B. "&;")
variables_order = "STRING" "EGPCS" Reihenfolge, in der Variablenarten für register_globals und S_REQUEST ausgewertet werden:
E
= Umgebungsvariablen, G = GET-Felder, P = POST-Felder, C = Cookies, S = Servervariablen
register_globals =
"On"|"Off"
"Off" Stellt Formularfelder, Umgebungsvariablen, Servervariablen und Cookies automatisch als globale Variablen mit ihrem Feldnamen bereit. Praktisch, aber sicherheitstechnisch riskant; daher seit Version 4.2 standardmäßig "Off". Wurde in PHP 5.4 (zurzeit Alpha) endgültig abgeschafft.
register_argc_argv =
"On"|"Off"
"On" Stellt GET-Variablen und Kommandozeilenargumente als C-ähnliche argc/argv bereit.
register_long_arrays =
"On"|"Off"
"On" Definiert $HTTP_POST_VARS und $HTTP_GET_VARS zusätzlich zu $_POST und $_GET (seit Version 5.0 konfigurierbar; davor immer eingeschaltet).
post_max_size =
"...M|K|B"
"8M" maximale Größe von POST-Daten
auto_prepend_file =
"DATEIPFAD"
"" Include-Datei, die automatisch am Kopf jeder Datei importiert wird
auto_append_file =
"DATEIPFAD"
"" Include-Datei, die automatisch am Fuß jeder Datei importiert wird
default_mimetype =
"TYPE/SUBTYPE"
"text/html" Standardtyp für den Header Content-Type
default_charset =
"ZEICHENSATZ"
"iso-88591" Standardzeichensatz für den Header
Content-Type
always_populate_raw_
post_data = "0"|"1"
"0" Bestimmt, ob $HTTP_RAW_POST_DATA (POST-Daten ohne Variablenaufteilung) immer erzeugt wird.
allow_webdav_methods =
"0"|"1"
"0" Bestimmt, ob WebDAV-HTTP-Methoden zulässig sind.
include_path =
"PFAD1[:PFAD2:...]"
Umgebungsvariablen
PHP_INCLUDE_
PATH
Verzeichnisse, in denen nach Include-Dateien gesucht wird
doc_root =
"PFAD1[:PFAD2:...]"
PHP_INCLUDE_
PATH
übergeordnetes Verzeichnis für PHP-Skripte (z. B. Apache- DocumentRoot)
user_dir = "VERZEICHNIS" NULL Name des Benutzerverzeichnisses mit PHP-Dateien (entspricht dem Konzept des Apache-Moduls mod_userdir)
extension_dir = "PFAD" Umgebungsvariablen
PHP_EXTENSION_DIR
Verzeichnis mit Extension-Dateien, die beim PHP-Start geladen werden
extension = "DATEI" Fügt die angegebene PHP-Erweiterung hinzu, z. B. extension=php_mysqli.dll
für mysqli.
cgi.rfc2616_headers =
"0"|"1"
"0" Ausgeschaltet Status:-Header; eingeschaltet RFC-2616-Header
file_uploads =
"0"|"1"
"1" Datei-Uploads zulässig
upload_tmp_dir =
"PFAD"
NULL
(Systemvorgabe)
Temp-Verzeichnis für Uploads
upload_max_filesize =
"...M|K|B"
"2M" maximale Größe für Upload-Datei


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.







<< zurück




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de


  Zum Katalog
Zum Katalog: IT-Handbuch für Fachinformatiker






IT-Handbuch für Fachinformatiker
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Android 3






 Android 3


Zum Katalog: Linux






 Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu
 GNU/Linux


Zum Katalog: Windows Server 2008 R2






 Windows Server
 2008 R2


Zum Katalog: PHP & MySQL






 PHP & MySQL


Zum Katalog: Visual C# 2010






 Visual C# 2010


Zum Katalog: C von A bis Z






 C von A bis Z


Zum Katalog: C++ von A bis Z






 C++ von A bis Z


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo