Kürzlich hatte ich einen kuriosen Fehler beim Versuch in einem PHP-Webprojekt etwas in eine Textdatei zu schreiben. Es sollte lediglich beim Aufruf einer bestimmten Seite etwas geloggt werden mit anschließendem Zeilenumbruch. Folgende Testfunktion habe ich dazu abseits meines eigentlichen Projekts erfolgreich nutzen können:
1 2 3 4 5 6 7 8 9 |
<?php function testausgabe() { $file = fopen("test.log", "a"); fwrite($file, "Test111111!!!!\n"); fclose($file); } test(); ?> |
In meinem Testprojekt kam es nach dem Einbau an der richtigen Stelle aber zu einem Problem. Bei jedem Aufruf wurde der Logeintrag zweimal erstellt. Sinn der Funktion sollte es sein einen 404-Error zu loggen wenn eine nicht existierende Seite aufgerufen wird. Nach einer längeren Suche konnte ich auch herausfinden woran es lag. Es handelte sich nicht wie zuerst vermutet um einen Fehler im PHP-Skript durch den es vielleicht zu einem zweimaligen Aufruf der entsprechenden PHP-Datei kommt sondern um folgenden Fehler im html-Head-Bereich:
1 |
<script type="text/javascript" src=""></script> |
Dort war noch ein Tag für ein Javascript vorhanden, was ich noch gar nicht eingebunden hatte. Nach dessen Entfernung funktionierte nun alles. Der Grund wird sein, dass beim Versuch das Skript zu laden auch ein 404-Error erzeugt wird.