Noch habe ich so viele Fehlermeldungen erhalten, wie bei der Entwicklung vom BMS (Blog Management System). Vor allem dadurch, dass ich das gesamte BMS von ISO-8895-15 auf UTF-8 umstelle.
Warning: Cannot modify header information – headers already sent by (output started at /home/luki/public_html/bms/bms1.9/vars.php:57) in /home/luki/public_html/bms/bms1.9/vars.php on line 56
Man hat gerade den Zeichensatz gewechselt und am Anfang der Datei steht die Zeichenkombination ” ” (im Browser nicht darstellbar). Beim Öffnen der Datei mit einem Editor (vi, Notepad++) wird diese Kombination ausgeblendet und man kann sie auch nicht löschen. Nur schwache Editoren zeigen die Zeichen an (kwrite). Diese Zeichen werden gesendet (und damit der HTTP-Header) und erscheinen auch nicht im Browser. Die Zeichen zu löschen, löst das Problem.
The document contains no data.
Meldet sich Firefox… oder gar nichts und die Seite ist leer.
Dabei handelt es sich um einen internen Fehler im PHP-Parser. Verursacht wurde er bei mir dadurch, dass er rekursiv versuchte sein eigenes Skript einzubinden und damit immer die selben Funktionen versuchte neu zu definieren (ist in PHP nicht erlaubt).
Fatal error: Cannot redeclare select_event() (previously declared in /home/luki/public_html/bms/functions/entries.php:2) in /home/luki/public_html/bms/functions/entries.php on line 44
entries.php:2: function select_event($id) {
entries.php:44: }
Ungelöstes Problem. Die Klammer in Zeile 44 ist das Ende der Funktion select_event. Die Datei komplett neu zu schreiben, löste das Problem. Zwei Tipps: In einem riesigen CMS kann man die Funktion durchaus schon woanders definiert haben (“grep” verneint diese Theorie) und der vi erzeugt eine Datei datei.php~ (Backupdatei von datei.php), die bei einem include() von einem ganzen Verzeichnis ebenfalls included wird (war auch nicht der Fall – datei.php~ gelöscht).
Fatal error: Call to undefined function img_smiley() in /home/luki/public_html/bms/bms1.9/test.php on line 37
test.php:36: <?php if (!function_exists(‘img_smiley’)) die(‘not found!’); ?>
test.php:37: $smiley = img_smiley(‘:-D’);
Der vi hat dir hineingehauen und das i ist ungleich i (in “img_smiley”). Es sind unterschiedliche Zeichen, aber sie schauen beide gleich aus. Den Funktionsnamen neu zu schreiben, löst das Problem.
chown — �ndert den Eigent�mer einer Datei
Auch php.net scheint Zeichensatz-Probleme zu haben
Recent Comments