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.
<html lang="de">
<head>
<title>PHP-Beispiel: Einfache Anweisungen</title>
</head>
<body>
<main>
<h1>PHP-Beispiel: Einfache Anweisungen</h1>
<p>Hallo, <?php echo $_SERVER['REMOTE_ADDR']; ?></p>
<p>Heute ist der
<?php
# Kommentar: Gib das Datum aus, dann je nach Monat noch eine Zeichenkette
$tag = date('z') + 1;
echo date('d. m. Y') . ', der ' . $tag . '. Tag des Jahres. ';
$monat = date('m');
if ($monat == 1 || $monat == 2 || $monat == 12) {
echo 'Es ist Winter.';
} else if ($monat > 2 && $monat < 6) {
echo 'Es ist Frühlingszeit.';
} else if ($monat > 5 && $monat < 9){
echo 'Es ist Sommer.';
} else {
echo 'Es ist Herbstzeit.';
}
?>
</p>
</main>
</body>
</html>
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:
- PHP-Handbuch: deutsch oder englisch
- PHP Homepage (englisch)
- SELFPHP – PHP-Dateien selbst erstellen
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.
.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 ... ?>