Suchen
Inside Wiki
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > phpforum.de Wiki > phpforum.de Wiki

PHP Wiki Dieses Wiki sammelt Lösungen, zu Problemen, welche immer wieder im Forum auftauchen.

 
 
Artikel-Optionen Ansicht
  #1  

Standard Problematische Konfigurationseinstellungen

Eine Vielzahl von Themen hier im Forum lassen sich auf Probleme mit den Konfigurationseinstellungen von PHP reduzieren. Das liegt daran, dass PHP einige "eingebaute" Stolpersteine besitzt.

 

Inhalte

Häufige Symptome

  • Ein Skript wird lokal getestet und funktioniert. Auf dem eigentlichem Server geht dann garnichts.
  • Der Hoster verschärft die Sicherheitseinstellungen
  • Die PHP Version wird erhöht
  • Nach einem Wechsel des Hosters funktioniert garnichtsmehr

Ursachen


PHP besitzt einige Funktionen, die den Entwicklern helfen sollen Zeit zu sparen. Diese können in der Konfigurationsdatei php.ini eingeschaltet oder ausgeschaltet werden. Letztendlich haben diese Funktionen jedoch nicht bewirkt, dass Zeit gespart wird, sondern dass der Entwickler noch mehr Zeit benötigt, um sein Script für alle Konfigurationen anzupassen. Auch wurden einige Sicherheitsprobleme bezüglich dieser Optionen festgestellt. Deshalb werden die meisten dieser "Bequemlichkeitsfunktionen" mit PHP6 abgeschafft.
Die eigentliche Ursache, warum das Script nicht funktioniert, ist also immer ein wechsel der PHP Version und die oft damit verbundene Änderung der Einstellungen in der Konfigurationsdatei von PHP.

Problematische Konfigurationseinstellungen


Allow URL Fopen


Name der Konfigurationseinstellungallow_url_fopen
Kurze BeschreibungAllow URL fopen sorgt dafür, dass man auf URL wie wie auf normale Dateien zugreifen kann. Dadurch wird z.B. fopen('http://www.google.de/', 'r') möglich.
StandardeinstellungOn
Abschaffung mit PHP 6Nein
Verursacht Probleme bei WertOff
Empfohlener WertKeine Empfehlung
Mögliche SymptomeDer Zugriff auf entfernte Dateien ist nicht mehr möglich.
Mögliche UrsachenAllow URL Fopen wurde vom Hoster aus Sicherheitsgründen ausgeschaltet.
Mögliche Lösungen
  • Ausweichen auf die CURL Erweiterung
  • Benutzen von fsockopen

Allow URL Include


Name der Konfigurationseinstellungallow_url_include
Kurze BeschreibungDiese Einstellung ermöglich, dass man mittels include und require auf entfernte Dateien zugreifen kann. Z.B. include('http://www.google.de').
StandardeinstellungOff
Abschaffung mit PHP 6Nein
Verursacht Probleme bei WertOff
Empfohlener WertKeine Empfehlung
Mögliche SymptomeDer Zugriff auf entfernte Dateien mittels include, require, include_once und require_once ist nicht möglich.
Mögliche Ursachen
  • Allow URL Fopen ist aus Sicherheitsgründen ausgeschaltet.
  • Allow URL Include ist aus Sicherheitsgründen ausgeschaltet.
Mögliche Lösungen
  • Ausweichen auf die CURL Erweiterung
  • Benutzen von fsockopen

Display Errors


Name der Konfigurationseinstellungdisplay_errors
Kurze BeschreibungMittels Display Errors kann man einstellen, ob Fehlermeldungen ausgegeben werden sollen.
StandardeinstellungOn
Abschaffung mit PHP 6Nein
Verursacht Probleme bei WertOff
Empfohlener WertProduktivsystem: Off, Testumgebung: On
Mögliche Symptome
  • Es wird nur eine weiße Seite angezeigt
  • Die Webseite wird nur teilweise angezeigt
Mögliche UrsachenEs tritt ein Fehler auf der Seite auf. Dadurch bricht die Ausführung des Scripts ab ohne eine Fehlermeldung anzuzeigen.
Mögliche Lösungen
  • Display Errors aktivieren
  • Alternative Logmethoden verwenden(z.B. Syslog)

Error Reporting


Name der Konfigurationseinstellungerror_reporting
Kurze BeschreibungLegt fest, welche Art von Fehler ausgegeben wird.
StandardeinstellungE_ALL & ~E_NOTICE
Abschaffung mit PHP 6Nein
Verursacht Probleme bei WertE_ALL oder E_STRICT
Empfohlener WertKeine Empfehlung
Mögliche Symptome
  • Es werden plötzlich sehr viele Fehler ausgegeben und das Script bricht mit Meldungen wie "Headers already sent" o.ä. ab
  • Es werden plötzlich sehr viele Fehler ausgegeben, aber das Script funktioniert trotzdem
  • Ich benutze Klassen. Plötzlich werden Fehlermeldungen wie "Strict Standards: var: Deprecated. ..." ausgegeben
Mögliche UrsachenAuf dem Testsystem ist das Errorlevel niedriger gesetzt und PHP gibt weniger Fehler aus.
Mögliche LösungenAlle Fehler korrigieren, auch wenn es nur Notices sind.

Magic Quotes


Name der Konfigurationseinstellungmagic_quotes_gpc, magic_quotes_runtime
Kurze BeschreibungMagic Quotes sorgt dafür, dass sicherheitskritische Zeichen automatisch escapt werden. Z.B. "\" wird zu "\\" oder """ zu "\"".
StandardeinstellungOff
Abschaffung mit PHP 6Ja
Verursacht Probleme bei WertOn
Empfohlener WertOff. Magic Quotes escapt z.B. für Datenbanken nicht hinreichend sicher.
Mögliche Symptome
  • In der Datenbank stehen lauter Backslashes("\")
  • In meinen Variablen stehen nach dem escapen Backslashes
Mögliche UrsachenMagic Quotes ist aktiviert und du versuchst einen String zusätzlich mit mysql_real_escape_string oder addslashes zu escapen.
Mögliche LösungenMagic Quotes ausschalten und Funktionen wie mysql_real_escape_string verwenden.
Weiter Einstellungen in Vorbereitung...


Mitwirkende: andy-ty, Sebbl
Erstellt von Sebbl, 23.12.2008 am 13:15
Zuletzt bearbeitet von andy-ty, 24.12.2008 am 12:53
0 Kommentare , 3784 Betrachtungen

Dieser Text steht unter der GNU-Lizenz für freie Dokumentation


 

Lesezeichen

Artikel-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problematische Variablenübergabe bei submit meinmalli JavaScript 4 03.10.2006 22:13
problematische abfrage armony Datenbanken 13 16.02.2006 22:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:34 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC