📋
M307 - Interaktive Webseiten mit Form
  • Interaktive Webseite mit Formular erstellen
  • Tag 1
    • 01-Interaktive Websites
    • 02-Client-Server-Infrastruktur
    • 03 Einrichtung Entwicklungsumgebung
    • 04 PHP
      • 01 Einführung
      • 02 PHP Konfiguration
      • 03 PHP Übersicht
      • 04 Variablen
      • 05 Script Einbindung
      • 06 Arrays
      • 07 Kontrollstrukturen
      • 08 Interne Funktionen
      • 09 Benutzerdefinierte Funktionen
      • 10 Klassen
      • 11 Best Practices
      • 12 Links
    • 05 Strukturierung
      • Aufbau eines MVC (Schritt für Schritt)
    • 06 PHP Aufgaben
      • 01 Bottles of Beer
      • 02 Einfacher Spamfilter
      • 03 Clowns
      • 04 Pixelgenerator
      • 05 Todo-Liste
      • 06 Login-Funktion
      • 07 Navigation
      • 08 Gemeinsames Template
  • Tag 2
    • 01 Formulare Theorie
      • 01 Informationsgruppierung
      • 02 Design- und Strukturgrundlagen
      • 03 Verarbeiten von Formulardaten
      • 04 Validieren von Formulardaten
    • 02 JavaScript Theorie
      • 01 Einfuehrung
      • 02 JavaScript Übersicht
    • 03 Übungsaufgaben zu JavaScript
      • 01 Schere, Stein, Papier
      • 02 Whack-a-Button
    • 04 JavaScript Validierung
      • 01 Validierung
      • 02 Vor- und Nachteile
      • 03 Aufgabe
  • Tag 3
    • 01 Datenbankanbindung
      • 01 Datenbankanbindung
      • 02 Datenbankverbindung
      • 03 Datenbankabfragen
      • 05 Datenlöschung
      • 04 Datenspeicherung
      • 06 Datenmanipulation
      • 07 Refactoring
    • 02 Testing
    • 03 Security Aufgaben
      • 01 Gruppenarbeit
        • 01 Arbeitsauftrag
        • 02 Cross-Site-Scripting (XSS)
        • 03 SQL-Injections
        • 04 Local File Inclusion
      • 02 Eigenes Formular absichern
      • 03 Karl's Website
    • 04 Applikationssicherheit
Powered by GitBook
On this page
  • phpinfo()
  • Core-Sektion
  • php.ini
  • Error-Reporting
  • Neue Konfiguration überprüfen

Was this helpful?

Export as PDF
  1. Tag 1
  2. 04 PHP

02 PHP Konfiguration

Previous01 EinführungNext03 PHP Übersicht

Last updated 4 years ago

Was this helpful?

phpinfo()

Um sich eine Übersicht über die Konfiguration der vorhandenen PHP-Installation zu machen, kann die phpinfo-Funktion genutzt werden.

Erstelle in deinem Webserver-Rootverzeichnis eine Datei mit dem Namen info.php und füge folgenden Inhalt ein:

<?php
phpinfo();
?>

Rufe die Datei über auf.

Achtung!!! Sei vorsichtig, wenn du eine solche Datei auf einem Webserver veröffentlichst, da die angezeigten Infos sehr viel über dein System verraten und für Angriffe ausgenutzt werden können.

Dir wird nun eine Übersicht aller für PHP relevanten Einstellungen gezeigt.

Sieh dir die Apache Environment und HTTP Headers Information Sektionen einmal an. Was für Informationen werden angezeigt?

Für die Konfiguration deiner PHP-Installation stehen diverse Einstellungen zur Verfügung, sogenannte Direktiven.

Core-Sektion

Die wichtigste Sektion in der phpinfo()-Ausgabe ist die Core-Sektion. Diese Einstellungen gelten für den PHP-Core selbst, also nicht für eines der installierten Module (wie z. B. mysql oder session).

Häufig gebrauchte Direktiven

Eine Direktive ist eine einzelne Einstellung. Sie setzt sich immer aus einem Namen und einem Wert zusammen.

Direktive

Bedeutung

display_errors

Legt fest, ob Fehlerausgaben angezeigt werden sollen.

log_errors

Legt fest, ob Fehler in eine Datei geloggt werden sollen.

error_log

Den Pfad zur Datei, in der Fehler geloggt werden.

error_reporting

Legt fest, welche Fehler beachtet werden sollen, und welche nicht.

max_execution_time

Legt fest, wie viele Sekunden ein PHP-Script maximal für seine Ausführung Zeit hat, bevor die Ausführung abgebrochen und ein Fehler generiert wird.

memory_limit

Legt fest, wie viele MB RAM PHP maximal für die Ausführung eines Scripts belegen darf.

php.ini

Alle Einstellungen für Deine PHP-Installation lassen sich in der php.ini bearbeiten. Diese befindet sich bei XAMPP unter C:\xampp\php\php.ini.

Öffne die Datei in Deinem Texteditor.

In dieser Datei befinden sich alle Direktiven, einschliesslich einer kurzen Info dazu. Zeilen, die mit einem ; beginnen sind auskommentiert und werden nicht beachtet.

Das Format für jede Direktive ist

direktiven_name = wert

Du kannst in dieser Datei alle Einstellungen bearbeiten. Wenn Du eine Änderung an der Konfiguration vorgenommen hast, musst Du anschliessend den Apache-Dienst neu starten.

Error-Reporting

Die wichtigste Einstellung, welche wir jetzt gleich zusammen festlegen möchten, ist das Error-Reporting.

In PHP gibt es mehrere Error-Levels. PHP versucht stehts, gefundene Fehler in Scripts selber zu beheben. Je nach Error-Level generiert PHP dabei eine Fehlerausgabe oder bricht bei gravierenden Fehlern die Ausführung des Scripts komplett ab.

Error-Level

Beschreibung

E_ERROR

Fatale Laufzeit-Fehler. Dies zeigt Fehler an, die nicht behoben werden können. Die Ausführung des Scripts wird abgebrochen.

E_WARNING

Warnungen (keine fatalen Fehler) zur Laufzeit des Scripts. Das Script wird nicht abgebrochen.

E_PARSE

Parser-Fehler während der Übersetzung. Das auszuführende Script enthält Syntax-Fehler. Das Script wird abgebrochen.

E_NOTICE

Eine mögliche Fehlerquelle wurde entdeckt (z. B. undefinierte Variable). Das Script wird trotzdem ausgeführt.

Error-Reporting richtig einstellen

Egal ob deine Scripts in einer Produktiv- oder Entwicklungsumgebung ausgeführt werden, es ist immer wichtig, über alle Fehler informiert zu werden. Unsere error_reporting Direktive setzen wir also auf E_ALL (es werden somit alle auftretenden Fehler gemeldet.)

error_reporting = E_ALL

In deiner Entwicklungsumgebung ist es nützlich auftretende Fehler direkt im Output anzuzeigen. Auf einer Produktivumgebung hingegen möchten wir für die Öffentlichkeit nichts von unserem System preisgeben und zeigen die internen PHP-Fehlermeldungen nicht an. Im Fehlerfall werden wir für unsere Besucher eigene Fehlerseiten erstellen.

Für unsere Entwicklungsumgebung lassen wir uns also alle Fehler anzeigen:

display_errors = On

In einer Produktivumgebung solltest Du diesen Wert immer auf Off setzen. Nutze dafür die log_errors Direktive und lasse Dir die Fehlermeldungen in einer Datei (definiert via error_log) protokollieren.

Neue Konfiguration überprüfen

Speichere deine php.ini ab, starte Apache neu und aktualisiere deine info.php im Browser.

Stelle sicher, dass error_reporting einen Wert von 32767 (=E_ALL) hat, und display_errors auf On ist.

Hier befindet sich eine komplette Liste der .

http://localhost/info.php
vordefinierten Fehler-Konstanten