Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:entwickler:php.ini_einstellungen [2010/02/14 20:07] fassede:entwickler:php.ini_einstellungen [2012/09/19 16:20] (current) thomas-rcv
Line 6: Line 6:
 ===== Sinnvolle PHP-Einstellungen ===== ===== Sinnvolle PHP-Einstellungen =====
   register_globals = off   register_globals = off
-Diese Einstellung bewirkt, dass übergebene Parameter nicht direkt als Variablen zur Verfügung stehen, sondern nur über die Arrays **$_GET** oder **$_POST** angesprochen werden können. Normalerweise sollte diese Variable schon auf off stehen. Ab PHP6 gibt es diese Einstellung nicht mehr. \\ \\ \\  +Diese Einstellung bewirkt, dass übergebene Parameter nicht direkt als Variablen zur Verfügung stehen, sondern nur über die Arrays **$_GET** oder **$_POST** angesprochen werden können. Normalerweise sollte diese Variable schon auf off stehen. Ab PHP6 gibt es diese Einstellung nicht mehr. \\ \\ 
- +
   error_reporting = E_ALL   error_reporting = E_ALL
 In den meisten Fällen ist dies schon gesetzt und man muss nur noch den Zusatz **& ~E_NOTICE** entfernen. Dies führt dazu, dass nun auch Warnings ausgegeben werden, wenn z.B. eine Variable benutzt wird, die vorher noch nicht definiert war. Somit führt dies zu einem sauberen Programmierstil und kann auch auf mögliche Sicherheitsprobleme aufmerksam machen.  \\ \\  In den meisten Fällen ist dies schon gesetzt und man muss nur noch den Zusatz **& ~E_NOTICE** entfernen. Dies führt dazu, dass nun auch Warnings ausgegeben werden, wenn z.B. eine Variable benutzt wird, die vorher noch nicht definiert war. Somit führt dies zu einem sauberen Programmierstil und kann auch auf mögliche Sicherheitsprobleme aufmerksam machen.  \\ \\ 
Line 15: Line 14:
 Neben dem Loggen der Fehlermeldungen in der Logdatei, wird durch diese Einstellung der Fehler/Hinweis direkt auf der Seite ausgegeben. In der Entwicklungsumgebung sollte diese Einstellung gesetzt sein, damit Fehler schneller auffallen. \\ \\  Neben dem Loggen der Fehlermeldungen in der Logdatei, wird durch diese Einstellung der Fehler/Hinweis direkt auf der Seite ausgegeben. In der Entwicklungsumgebung sollte diese Einstellung gesetzt sein, damit Fehler schneller auffallen. \\ \\ 
   error_log = "/Applications/MAMP/logs/php_error.log"   error_log = "/Applications/MAMP/logs/php_error.log"
-In Verbindung mit der oberen Einstellung wird hier der Pfad und Dateiname der Logdatei angegeben. Wichtig ist, dass der Apache in diesem Verzeichnis Schreibrechte hat. Wird die Admidio-Einstellung **$g_debug = 1** gesetzt, so landen in dieser Datei auch alle SQL-Statements und Seitenaufrufe. \\ \\ +In Verbindung mit der oberen Einstellung wird hier der Pfad und Dateiname der Logdatei angegeben. Wichtig ist, dass der Apache in diesem Verzeichnis Schreibrechte hat. Wird die Admidio-Einstellung **$gDebug = 1** gesetzt, so landen in dieser Datei auch alle SQL-Statements und Seitenaufrufe. \\ \\ 
   allow_url_fopen = Off   allow_url_fopen = Off
 Diese Einstellung bewirkt, dass man in Funktionen, welche mit Pfadangaben arbeiten (z.b. fopen zum Öffnen von Dateien) keine URLs mehr benutzen darf, sondern nur noch direkte Serverpfade. Da URLs ein Sicherheitsrisiko darstellen und viele Hoster deshalb diese Option auch deaktivieren, sollten wir dies auch tun, damit es zu keinen Problemen bei den Anwendern kommt. \\ \\  Diese Einstellung bewirkt, dass man in Funktionen, welche mit Pfadangaben arbeiten (z.b. fopen zum Öffnen von Dateien) keine URLs mehr benutzen darf, sondern nur noch direkte Serverpfade. Da URLs ein Sicherheitsrisiko darstellen und viele Hoster deshalb diese Option auch deaktivieren, sollten wir dies auch tun, damit es zu keinen Problemen bei den Anwendern kommt. \\ \\ 
Line 25: Line 24:
  
 Folgender Eintag aktiviert den Debug-Modus: Folgender Eintag aktiviert den Debug-Modus:
-<code php>$g_debug = 1;</code>+<code php>$gDebug = 1;</code>
  
   * Nun wird im Programm nicht mehr geprüft ob der adm_install Ordner wirklich gelöscht wurde.   * Nun wird im Programm nicht mehr geprüft ob der adm_install Ordner wirklich gelöscht wurde.
   * Außerdem werden nun auch ALLE SQL-Statements in die PHP-Logdatei geschrieben, falls diese eingerichtet ist. Somit kann man bei Fehlern oder Abbrüchen besser nachvollziehen, was bereits im Script ausgeführt wurde und wie die SQL-Statements tatsächlich aussahen.   * Außerdem werden nun auch ALLE SQL-Statements in die PHP-Logdatei geschrieben, falls diese eingerichtet ist. Somit kann man bei Fehlern oder Abbrüchen besser nachvollziehen, was bereits im Script ausgeführt wurde und wie die SQL-Statements tatsächlich aussahen.
   * Alle Scriptaufrufe mit den jeweiligen Übergabeparametern werden ebenfalls in die PHP-Logdatei geschrieben\\    * Alle Scriptaufrufe mit den jeweiligen Übergabeparametern werden ebenfalls in die PHP-Logdatei geschrieben\\ 
  • de/entwickler/php.ini_einstellungen.1266174441.txt.gz
  • Last modified: 2010/02/14 20:07
  • by fasse