Springe zum Hauptinhalt
Universitäts­rechen­zentrum
PHP

PHP: Hypertext Preprocessor

PHP ist eine leistungsfähige Skriptsprache für Webautoren. Man schreibt Spezialanweisungen in den HTML-Text, die der Webserver interpretiert, bevor die Seite dem Browser geliefert wird.

Die zentralen Webserver www.tu-chemnitz.de und www-user.tu-chemnitz.de sind hinsichtlich PHP nahezu identisch konfiguriert:

www.tu-chemnitz.de PHP-Befehle im zentralen Webspace PHP 7 – Konfiguration
www-user.tu-chemnitz.de PHP-Befehle im Webspace der Nutzer PHP 7 – Konfiguration

Einführung, Dokumentation

Dateien mit PHP-Befehlen müssen die Endung .html (empfohlen) oder .php haben, dann wird der enthaltene PHP-Code auch ausgewertet. Dateien mit der Endung .phps werden nicht interpretiert, sondern der Quelltext direkt im Browser angezeigt. (Also Achtung bei Code, der Geschäftslogik oder interne Kommentare enthält!)

So sieht es im Webbrowser aus – PHP-Anweisungen werden ausgeführt.

So wird es programmiert
– PHP-Anweisungen in der Datei

Man sieht, dass die PHP-Anweisungen vom HTML-Text durch die Tags <?php …  ?> abgetrennt sind. Es wird auch deutlich, dass PHP wichtige Elemente einer Programmiersprache besitzt – Variablen, Ausdrücke, Anweisungen, Steuerelemente, Klassen. Zur Beschreibung sei auf folgende Dokumente verwiesen:

Lesen Sie unbedingt unsere Hinweise zum sicheren Programmieren mit PHP.

Tipps

PHP-Fehlermeldungen (für Entwicklung/Fehlersuche)

Fehler auf der Webseite anzeigen (nur während der Entwicklung)

  • in Datei .htaccess: php_flag display_errors on
  • Nach der Entwicklungsphase bitte wieder ausschalten.

Fehler in eine Datei schreiben

  • in Datei .htaccess:
    # PHP-Fehler in Datei schreiben
    php_value log_errors on
    # Datei in eigenem Verzeichnis, muss schreibbar für Webserver sein:
    php_value error_log "/afs/tu-chemnitz.de/home/urz/.../public_html/log/php_errors"
    
    # Welche Fehler: alle = -1, wichtigste = 8, schlimmste = 1
    php_value error_reporting -1
    # maximale Größe der Fehlerdatei in Bytes: unbegrenzt = 0 … bis der Speicher voll ist
    php_value log_errors_max_len 1000000
    
    # Log-Datei vor Webzugriff schützen
    <Files "php_errors">
      Require all denied
    </Files>
  • Nach der Entwicklungsphase bitte wieder ausschalten.

Start-Tag

Der Webserver interpretiert nur PHP-Anweisungen, die innerhalb spezieller Tags stehen:
<?php echo "Hallo"; ?>.
Bislang unterstützen wir auch die Kurzform <? … ?> Da dies jedoch nicht XML- und XHTML-konform ist, sollten alle PHP-Programmierer die obige Langform verwenden.

Überprüfen Sie Ihre Skripte dahingehend: Tragen Sie zum Test in eine Datei .htaccess im Verzeichnis des PHP-Skriptes ein:
php_flag short_open_tag off
Dies benötigen Sie momentan auch, wenn Sie in einem Dokument PHP-Anweisungen und XML processing instructions verwenden, z.B. <?xml ... ?>