PHP: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
(Satz kürzer)
Zeile 1: Zeile 1:
PHP wird bei HS standardmäßig per FastCGI vorkonfiguriert. Dafür wird unter fastcgi/ in jedem Domainverzeichnis eine phpstub Datei angelegt und der Apache Webserver ist konfiguriert für .php Dateien diesen "Stub" zu verwenden. Entsprechend dem Verzeichnis führt er .php Skripte dann per FastCGI mit den Rechten des Users aus.
 
PHP wird heute bei HS standardmäßig per FastCGI vorkonfiguriert. Dafür wird in jedem Domainverzeichnis unter fastcgi/ eine phpstub Datei angelegt und der Apache Webserver ist konfiguriert .php Dateien über diesen "Stub" mit den Rechten des Users zu auszuführen.
 
([[PHP via CGI installieren]], beschreibt eine ältere und langsamere Schnittstelle .php Dateien ausführen zu lassen.)





Version vom 2. Juni 2009, 12:08 Uhr

PHP wird heute bei HS standardmäßig per FastCGI vorkonfiguriert. Dafür wird in jedem Domainverzeichnis unter fastcgi/ eine phpstub Datei angelegt und der Apache Webserver ist konfiguriert .php Dateien über diesen "Stub" mit den Rechten des Users zu auszuführen.

(PHP via CGI installieren, beschreibt eine ältere und langsamere Schnittstelle .php Dateien ausführen zu lassen.)


Anpassung der PHP Konfiguration

Um die PHP Konfiguration an eigene Bedürfnisse anzupassen ist eine eigene php.ini im fastcgi Verzeichnis der Domain anzulegen. Als Vorlage kann eine php-cgi-fcgi.ini dienen, die bei HS zusammen mit optionalen PHP Version unter /opt bereitgestellt werden. Beispielweise:

cd doms/example.com/fastcgi/
cp /opt/php/5.2.5/etc/php-cgi-fcgi.ini .

Anschließend die php-cgi-fcgi.ini anpassen, häufig ist z.B.:

  • Anpassung der Content-Type charset= Vorgabe für den HTTP Header.
  • Anpassung des maximal verwendbaren Hauptspeichers (memory_limit).
  • Anpassung der maximalen Größe hochgeladener Dateien (post_max_size).
  • Aktivierung gewünschter Extensions.

Beispiel: Durch das Löschen des ";" Kommentarzeichens vor "extension=mysql.so" werden z.B. die Module für den Zugriff Zugriff auf die GD-Library und MySQL über das klassische Modul aktiviert.

------8< SCHNIPP >8------
[..]
memory_limit = 16M (oder höher)
[..]
default_charset = "UTF-8"
[..]
 post_max_size = 8M
[..]
;extension=curl.so
extension=gd.so
;extension=imap.so
;extension=mcrypt.so
;extension=mhash.so
;extension=ming.so
extension=mysql.so
;extension=mysqli.so
;extension=odbc.so
;extension=pdo.so
;extension=pdo_mysql.so
------8< SCHNIPP >8------

Spezielle PHP Versionen

Um spezielle PHP Versionen zu nutzen kopiert man sich zunächst einen entsprechenden phpstub und eine passende Konfigurationsdatei in das fastcgi Verzeichnis. Die stubs für spezielle alternative Debian Versionen sind unter /usr/local/src/phpstub zu finden. Unter /opt/php stehen darüber hinaus bei HS auch weitere optionale PHP Versionen (neben den aktuellen Debian Versionen) zur Verfügung. Für Version 5.2.5 beispielsweise geht man wie folgt vor:

cd doms/example.com/fastcgi/
cp /opt/php/5.2.5/bin/php525stub .
cp /opt/php/5.2.5/etc/php-cgi-fcgi.ini .

Anschließend muss der Apache Webserver noch angewiesen werden auch diese bestimmte PHP Version zu verwenden. Dazu werden der .htaccess Datei im DocumentRoot der Domain zwei Zeilen hinzugefügt bzw. eine .htaccess mit den zwei Zeilenangelegt. Im Beispiel handelt es sich um die Domain www.example.com, also:

cd ~/doms/example.com/subs/www
vi .htaccess

Für Version 5.2.5 wären folgende zwei Zeilen einzugeben:

AddType application/x-httpd-phpcgi .php
Action application/x-httpd-phpcgi /cgi-bin/php525stub