PHP: Unterschied zwischen den Versionen
Malte (Diskussion | Beiträge) Empfehlung bezüglich FCGI und PHP-FPM (Danke an Pierre) hinzugefügt; Todo-Liste aufgefrischt |
Malte (Diskussion | Beiträge) Kurzen Abschnitt zum Testen mit phpinfo() hinzugefügt (inkl. Screenie) |
||
Zeile 51: | Zeile 51: | ||
| [Session] || session.use_cookies || Sollen zum Speichern einer Sitzung Cookies genutzt werden? (1 entspricht ja, 0 somit nein) Wenn keine Cookies genutzt werden, wird der GET-Parameter PHPSESSID an jede URL angehängt. | | [Session] || session.use_cookies || Sollen zum Speichern einer Sitzung Cookies genutzt werden? (1 entspricht ja, 0 somit nein) Wenn keine Cookies genutzt werden, wird der GET-Parameter PHPSESSID an jede URL angehängt. | ||
|} | |} | ||
== Testen der Konfiguration == | |||
Zum Testen der Konfiguration (d.h. ob PHP ''überhaupt'' läuft) und zur Anzeige einer Übersicht über die Konfiguration kann die Funktion ''phpinfo()'' genutzt werden. Dazu einfach den folgenden Code in eine Datei mit dem Suffix ''.php'' z.B. in /srv/http abspeichern und über den Webserver aufrufen | |||
<?php | |||
phpinfo(INFO_ALL); | |||
?> | |||
[[:Datei:Phpinfo.png|So sieht es bei mir aus]] | |||
== Siehe auch == | == Siehe auch == | ||
* [[Lighttpd#MySQL_und_PHP|lighttpd und PHP]] | * [[Lighttpd#MySQL_und_PHP|lighttpd und PHP]] | ||
* [[Apache und PHP]] | * [[Apache und PHP]] | ||
[[Kategorie:Server]] | [[Kategorie:Server]] | ||
[[en:PHP]] | |||
[[fr:howto/serveur/lamp]] |
Version vom 17. Dezember 2010, 22:22 Uhr
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
PHP ist eine imperative Programmiersprache zur serverseitigen Webprogrammierung, die (seit Version 5) auch Objektorientierung beherrscht. PHP steht für PHP: Hypertext Processor. Mit PHP-GTK besteht außerdem die Möglichkeit, grafische Desktopanwendungen zu erstellen. Meist wird PHP in Kombination mit einem Webserver verwendet, um gescriptete (dynamische) Seiten bereitzustellen.
Installation
PHP ist in extra verfügbar und kann von dort mittels Pacman installiert werden.
pacman -S php
Will man PHP mit einem Webserver verwenden, müssen entsprechende Schnittstellen installiert werden. Empfohlen wird aus Geschwindigkeitsgründen FastCGI, auch beim Apache, für den zwar eine SAPI existiert; diese ist jedoch langsamer als FCGI. Auf jeden Fall FCGI nehmen, und nicht das veraltete und sehr langsame CGI!
pacman -S php-cgi # FCGI für Apache, lighttpd, nginx, etc. pacman -S php-apache # SAPI für den Apache httpd (allerdings langsamer als FCGI mittels php-cgi)
In Produktivumgebungen und vor allem bei hochfrequentierten Seiten sollte php-fpm anstelle des normalen FCGI genutzt werden. Siehe dazu auch die Projektwebseite.
pacman -S php-fpm # FastCGI Process Manager (Slternative zum Standard-FCGI)
Details zur Konfiguration der Webserver finden sich hier im Wiki (Links am Ende des Artikels).
Wichtige/Häufig verwendete PHP-Module:
- php-gd - Schnittstelle zur GD-Grafikbibliothek.
- php-pear - PEAR (PHP Extension and Application Repository)
- php-mcrypt - MCrypt-Modul
- php-odbc - ODBC-Datenbankmodul
- php-sqlite - Modul zur Verwendung von SQLite3-Datenbanken
- php-ldap - Zum Abfragen eines LDAP-Verzeichnisservers
- php-mssql - Kontakt zu MS-SQL-Server-Datenbanken aufnehmen
Konfiguration
Konfiguriert wird PHP über die Datei /etc/php/php.ini.
Wichtige Einstellungen sind (nach Abschnitten geordnet):
Sektion | Name | Beschreibung |
---|---|---|
[PHP] | open_basedir | Alle Datei-Operationen (also Lesen und Schreiben) sind nur innerhalb dieser Verzeichnisse möglich. Beispiel: /srv/http/:/tmp/:/usr/share/pear/ |
display_errors | Fehlermeldungen anzeigen (Wert: Off oder On) | |
extension | Erweiterungen aktivieren. Beispiel:extension=gd.so | |
[Date] | date.timezone | Zeitzone für die date-Funktionen. Also zum Beispiel "Europe/Berlin" |
[Session] | session.use_cookies | Sollen zum Speichern einer Sitzung Cookies genutzt werden? (1 entspricht ja, 0 somit nein) Wenn keine Cookies genutzt werden, wird der GET-Parameter PHPSESSID an jede URL angehängt. |
Testen der Konfiguration
Zum Testen der Konfiguration (d.h. ob PHP überhaupt läuft) und zur Anzeige einer Übersicht über die Konfiguration kann die Funktion phpinfo() genutzt werden. Dazu einfach den folgenden Code in eine Datei mit dem Suffix .php z.B. in /srv/http abspeichern und über den Webserver aufrufen
<?php phpinfo(INFO_ALL); ?>