PHP/Umstellung auf PHP 5.3: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 30: Zeile 30:


PHP sucht seine Einstellungen lediglich in allen Ebenen zwischen dem Document-Root, also dem "htdocs"-Verzeichnis bis zum Ort der Datei.
PHP sucht seine Einstellungen lediglich in allen Ebenen zwischen dem Document-Root, also dem "htdocs"-Verzeichnis bis zum Ort der Datei.
= Bekannte Probleme =
Bei den meisten modernen Anwendungen werden Sie mit den jeweils aktuellsten Versionen keine Probleme zu erwarten haben. Beliebte Content-Management-Systeme wie Drupal, MediaWiki, Joomla oder Wordpress sind seit einigen Monaten schon auf die neue PHP-Version vorbereitet. Einige Anwendungen, die seit längerer Zeit kein Update mehr erfahren haben, könnten jedoch Probleme verursachen.
Für folgende Anwendungen reicht es nicht aus, die aktuellste Version zu benutzen:
* Drupal-4 (wird seit ca. 2,5 Jahren nicht mehr gewartet)
* xt:commerce 3 (GPL-Version, wurde seit der Umstellung auf eine unfreie Lizenz nicht mehr weiter entwickelt, neue Version nur noch als Bezahlsoftware)

Version vom 29. August 2010, 08:44 Uhr

Bei schokokeks.org bestand schon früh die Möglichkeit, PHP in der aktuellen Version 5.3 zu nutzen. Da es bei diesem Versionssprung deutliche Änderungen gab, die mit manchen Anwendungen zu Komplikationen führen konnten, können Sie für einzelne Websites noch die alte Version 5.2 weiter nutzen. Dies ist jedoch explizit als Übergangslösung zu sehen und ist nicht empfohlen für die Inbetriebnahme zusätzlicher Anwendungen. Wie Sie Ihre Anwendungen auf PHP Version 5.3 umstellen können, erfahren Sie in diesem Artikel.

Umstellen der PHP-Version

Die PHP-Version, die für Ihre Websites benutzt wird, können Sie jeweils in den Einstellungen festlegen. Die Änderung wird dann nicht umgehend sondern mit einer Verzögerung von ca. 5 Minuten wirksam. Bei den meisten aktuellen PHP-Anwendungen werden Sie jedoch keinen Unterschied bemerken.


Benutzerdefinierte Einstellungen

So wie bisher können Sie auch mit PHP 5.3 individuelle Einstellungen für jedes Verzeichnis festlegen. Es hat sich jedoch die Art und Weise leicht geändert.

Bisher setzten wir dafür die PHP-Erweiterung htscanner ein, die die Apache-Konfigurationsdateien (.htaccess) nach Optionen für das PHP-Modul durchsuchte und diese auch ohne PHP-Modul zur Anwendung brachte.

PHP 5.3 enthält nun selbst eine gleichwertige Einrichtung hierfür und es muss nicht mehr die Apache-Konfiguration missbraucht werden. Anhand nachfolgenden Beispiels wird klar, wie die Konfiguration geändert werden kann.

Beispiel

bis PHP 5.2

Bisher war der Name der Datei .htaccess und enthielt sowohl Apache-Einstellungen als auch PHP-Einstellungen. Die PHP-Einstellungen mussten mit speziellen Angaben für Apache versteckt werden:

<IfModule mod_php5.c>
  php_flag display_errors On
</IfModule>

ab PHP 5.3

PHP unterstützt nun selbst eigene Konfigurationsdateien mit dem Namen .user.ini (auch hier gibt es einen führenden Punkt um die Datei als versteckt zu markieren). Die Einstellungen werden genauso notiert wie in einer systemweiten Konfigurationsdatei und die Entsprechung zu obigem Beispiel lautet

display_errors = On

und ist damit viel übersichtlicher.

Suchpfad

Ebenfalls geändert ist der Suchpfad, in dem die genannte Datei gesucht wird. Bei Apache war es immer der komplette Pfad von dem Ort in dem die Datei lag, bis hinunter zum Wurzelverzeichnis.

PHP sucht seine Einstellungen lediglich in allen Ebenen zwischen dem Document-Root, also dem "htdocs"-Verzeichnis bis zum Ort der Datei.


Bekannte Probleme

Bei den meisten modernen Anwendungen werden Sie mit den jeweils aktuellsten Versionen keine Probleme zu erwarten haben. Beliebte Content-Management-Systeme wie Drupal, MediaWiki, Joomla oder Wordpress sind seit einigen Monaten schon auf die neue PHP-Version vorbereitet. Einige Anwendungen, die seit längerer Zeit kein Update mehr erfahren haben, könnten jedoch Probleme verursachen.

Für folgende Anwendungen reicht es nicht aus, die aktuellste Version zu benutzen:

  • Drupal-4 (wird seit ca. 2,5 Jahren nicht mehr gewartet)
  • xt:commerce 3 (GPL-Version, wurde seit der Umstellung auf eine unfreie Lizenz nicht mehr weiter entwickelt, neue Version nur noch als Bezahlsoftware)