Anzeige
Tutorialbeschreibung

PHP - Teil 03 - PHP kennenlernen (3)

PHP - Teil 03 - PHP kennenlernen (3)

Der Fokus liegt in diesem Tutorial auf Windows-Systemen. Der Grund dafür ist denkbar einfach: Bei den meisten Linux-Distributionen ist PHP bereits vorinstalliert. Sollte das bei Ihnen nicht der Fall sein, laden Sie die entsprechenden Pakete manuell nach. Unter OpenSUSE handelt es sich um das Paket mhp5_mysql. Bei Debian und Ubuntu müssen Sie bei Bedarf das Paket php5 nachinstallieren.

Während PHP unter Linux schon lange etabliert ist, fristete die Windows-Version lange Zeit ein Schattendasein. Das hat sich mittlerweile geändert. Maßgeblichen Anteil daran dürfte der Installer haben, der die PHP-Installation unter Windows erheblich einfacher macht. Zentrale Anlaufstelle für die Windows-PHP-Dateien ist die Seite http://www.php.net/downloads.php.

Bilder



 
Auf dieser Seite werden verschiedene Versionen angeboten. Am besten laden Sie sich die Zip-Variante der Windows Binarys herunter.

Das heruntergeladene Archiv muss zunächst entpackt und anschließend in das gewünschte Verzeichnis verschoben werden. Typischerweise könnte es sich dabei um das Verzeichnis C:PHP handeln. Kopieren Sie aus dem PHP-Verzeichnis die Datei php.ini-dist in das Windows-Verzeichnis. Üblicherweise liegt dieses direkt unter C:, also C:Windows.

Die php.ini-dist muss in php.ini umbenannt werden. (Bei der ebenfalls im PHP-Verzeichnis liegenden php.ini- recommended handelt es sich um eine "empfohlene" Variante der php.ini, die eine gute Ausgangsbasis für eigene Konfigurationen bildet). Diese php.ini ist die Konfigurationsdatei von PHP. Man legt darüber fest, wie PHP arbeiten soll. So kann man über die php.ini beispielsweise bestimmen, wie lange ein Skript maximal ausgeführt und ob der Safe Mode aktiviert werden soll.

Wenn Sie ein Shared-Hosting-Paket bei einem Provider gemietet haben, können Sie übrigens nicht auf die php.ini zugreifen, um Änderungen an der PHP-Konfiguration vorzunehmen. Betreiben Sie hingegen einen eigenen Webserver, stehen Ihnen dahin gehend alle Möglichkeiten offen.

Die Datei ist in mehrere Abschnitte unterteilt, über die sich jeweils ganz bestimmte Funktionen konfigurieren lassen. Mehr zur php.ini dann aber später. Zunächst muss nämlich Apache für PHP konfiguriert werden.

Öffnen Sie dazu die Apache-Konfigurationsdatei http.conf und suchen Sie dort nach dem folgenden Eintrag:

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#


Unterhalb dieses Blocks tragen Sie die folgende Zeile ein:

LoadModule php5_module C:/PHP/php5apache2_2.dll

 
Passen Sie diesen Pfad ggf. an, wenn Sie PHP nicht unter C:PHP installiert haben. Suchen Sie nun nach folgendem Block:

#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz


Jetzt wird festgelegt, dass Dateien, die die Endung .php besitzen, auch tatsächlich als PHP-Dateien interpretiert werden. Dazu fügen Sie unter die letzte Zeile Folgendes ein:

AddType application/x-httpd-php .php

Sollten Sie neben der Endung .php auch php3, php4 und php5 verwenden wollen, können Sie zusätzlich diese Zeilen hinzufügen:

AddType application/x-httpd-php .php3
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php5


Die gezeigte Variante verwenden Sie, wenn Sie PHP als Apache-Modul einsetzen wollen. Alternativ dazu kann PHP aber auch als CGI-Modul genutzt werden. Dazu muss die http.conf ebenfalls angepasst werden. Ergänzen Sie die Datei in diesem Fall um die folgenden Einträge:

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


Für welche der gezeigten Varianten Sie sich letztendlich entscheiden, bleibt letztendlich Ihnen überlassen. Allerdings läuft die CGI-Version nach wie vor etwas stabiler. Andererseits ist PHP als Apache-Modul ein wenig schneller. (Wobei die Geschwindigkeitsunterschiede wirklich nur marginal sind).


 

PHP konfigurieren

PHP ist eine sehr mächtige Sprache. Mit ihr kann man sehr viel machen, aber eben auch sehr viel falsch. Das fängt oftmals mit einer fehlerhaften Konfiguration an. Wie bereits angeklungen, ist die php.ini Dreh- und Angelpunkt, wenn es darum geht, PHP-Einstellungen vorzunehmen.

In der php.ini finden Sie verschiedene Abschnitte, die in etwa folgendermaßen gekennzeichnet sind:

[Session]
...
[MySQL]

Innerhalb dieser Abschnitte sind die sogenannten Direktiven aufgeführt.

Bilder



 
Diese setzen sich jeweils aus den Optionen und den dazugehörenden Werten zusammen. Ein typisches Beispiel dafür ist die Option memory_limit. Hierüber wird der Maximalwert des Speichers angegeben, den ein PHP-Skript verbrauchen darf. memory_limit soll verhindern, dass fehlerhaft programmierte Skripte den verfügbaren Speicherplatz für sich einnehmen und somit den Server lahmlegen. Um die Direktive anzupassen, wird der Option der gewünschte Wert zugewiesen.

memory_limit = 12MB


In der php.ini können einige Direktiven deaktiviert sein. Zu erkennen sind diese Direktiven an einem vorangestellten Semikolon.

;extension = php_curl.dll


Um eine solche Direktive zu aktivieren, entfernt man das Semikolon.

extension = php_curl.dll


Will man eine Direktive deaktivieren, setzt man wiederum vor deren Eintrag ein Semikolon.

 
Seit PHP5 muss man normalerweise nicht allzu viele Einstellungen in der php.ini vornehmen, da die Standardeinstellungen recht gut gewählt sind. (Was freilich nicht bedeutet, dass es nicht sehr viele Direktiven gibt. Einen vollständigen Überblick der möglichen Konfigurationsoptionen können Sie sich im PHP-Handbuch unter http://php.net/manual/de/ini.list.php verschaffen).

Bilder



 
Eine der wichtigsten Direktiven betrifft die Angabe, wo mögliche PHP-Erweiterungen zu finden sind. Solche Erweiterungen können beispielsweise MySQLi oder CURL sein. Damit PHP auf diese Erweiterungen zugreifen kann, muss der Pfad angegeben werden. Suchen Sie dazu in der php.ini nach folgendem Eintrag:

extension_dir = "./"


Geben Sie hier den Pfad zum ext-Verzeichnis an. Auf Windows-Systemen liegt dieses üblicherweise unter C:PHP/ext.

extension_dir = " C:PHP/ext"


Zusätzlich müssen die gewünschten Erweiterungen in der php.ini freigeschaltet werden. Wollen Sie also beispielsweise OpenSSL nutzen, müssen Sie den Eintrag – wenn noch nicht geschehen – auskommentieren.

extension=php_openssl.dll


In der php.ini sind bereits sehr viele dieser Einträge enthalten. Sollte ein Eintrag fehlen, fügen Sie ihn manuell hinzu.

Auf Linux-Systemen lautet die Endung für Erweiterungen übrigens nicht .dll, sondern .so.

Beachten Sie außerdem, dass manche Erweiterungen wiederum von anderen Erweiterungen abhängig sind. Damit es hier nicht zu Problemen kommt, müssen diese vom PHP-Interpreter gefunden werden können. Unter Windows müssen solche Bibliotheken in das Windows-Verzeichnis oder in das Windows-Systemverzeichnis kopiert werden.

Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von spirit010
Portrait von franzg
  • 13.05.2017 - 23:56

Sehr ausführlich erklärt. Vielen Dank!

Alternative Portrait
-versteckt-(Autor hat Seite verlassen)
  • 07.10.2016 - 13:13

Vielen Dank, tolles Video.

Portrait von dmtw2107
  • 04.11.2013 - 14:18

gutes tut. einfach erklärt, doch wäre ein bischen mehr besser. dickes danke

Portrait von Cheetah1997
  • 03.03.2012 - 17:30

Hey!
Tolles Tutorial, ich hatte bisher keine gute Anleitung für das installieren von PHP-Servern gefunden, aber jetzt...
Danke

Portrait von bebeline
  • 27.01.2012 - 10:55

Gutes Tutorial und auch als kleines Nachschlagewerk für Leute, die nicht jede Woche PHP installieren.

Portrait von Sasha
  • 28.03.2011 - 11:59

Vielen Dank für die Informationen und die weiterführenden Links. Hätte mir nur noch gewünscht, dass ein wenig auf die verschiedenen Module eingegangen wird. Also die Hauptunterschiede. Als Anfänger kann ich damit leider so rein gar nichts anfangen.

Portrait von Solla
  • 16.02.2011 - 10:31

Video ist Top, nur leider erfährt man nicht all zuviel über die Einstellungen der php.ini.
Bei dem Beschreibungstext hatte ich mir ein wenig mehr erwartet als nur das Setzen des short-cuts-tags auf On.

Vermutlich kommt da noch mehr in Teil 4, so es den geben wird.
Trotzdem vielen Dank - das Video ist - wie von Daniel Koch gewohnt - sehr verständlich und auch für Anfänger!

B.G.
Solla

Portrait von SaschaM78
  • 28.11.2010 - 13:45

Inhaltlich gut aufgebaut und angenehm kurz gehalten, für Anfänger genau das richtige, um PHP lauffähig zu bekommen. Ergänzend zur Konfiguration von PHP unter Apache könnte man noch erwähnen, das es neben der CGI- und Module-Variante noch eine FastCGI-Variante gibt, die im Gegensatz zur konventionellen CGI-Implementierung den Vorteil bringt, das die Handler nicht bei jedem Aufruf ge- und anschließend wieder entladen werden, was gerade bei Nicht-Entwicklungssystemen unter Windows vorteilhaft ist.
In Zeile 3 versteckt sich noch ein kleiner Typo, das Paket müsste "php5_mysql" heißen.

Portrait von Daniel Koch
  • 28.11.2010 - 16:39

Das stimmt. Ich verweise hier gerne auf die Seite http://www.hostfactory.ch/de/support/faq/webhosting/control_panel_plesk/php_fcgi.html. Dort wird noch einmal explizit auf die Unterschiede eingegangen.<br>
<br>
Viele Grüße<br>
Daniel

x
×
×