Logging bei apache2 mit php und js
Jürgen
- javascript
- jquery
hallo, mußte meinen apache neu aufsetzen und seitdem passt das logging nicht stehen dort Dinge die mich nicht wirklich interessieren wie granted, zlib etc.
wenn er aber unter js eine Datei nicht findet steht im logfile nichts drin
Ich habe folgenden code in einem js-script var translate = '';
$.ajax({ url: 'translate/ajaxLangScript.php', dataType: 'json', success: function(data) { translate = data[0]; },async: false});
egal ob ich bei url: 'schnitzel/ajaxLangScript.php', schreibe oder sonstwas ... normal müsste das doch im logfile stehen das er die datei nicht findet oder?
was kann das sein?
Grüße Jürgen
Tach!
wenn er aber unter js eine Datei nicht findet steht im logfile nichts drin
Einem Apachen kann man auch noch andere Möglichkeiten konfigurieren, wie Requests beantwortet werden, als nur 1:1 eine Datei auszuliefern.
egal ob ich bei url: 'schnitzel/ajaxLangScript.php', schreibe oder sonstwas ... normal müsste das doch im logfile stehen das er die datei nicht findet oder?
Es kommt darauf an, ob und wie der Request beantwortet werden kann. Schau erstmal ins Access-Log, wie/ob der Request reinkommt und wie er beantwotet wurde.
Zudem gibt es üblicherweise nicht nur "ein logfile". Praktisch ist es, wenn pro VHost eine Kombination aus Access-Log und Error-Log konfiguriert ist.
dedlfix.
Hallo
ja meine vhosts haben alle ihre eigenen logfiles
in dne access-logs kann ich auch nicht viel sehen ausser welche Datei aufgerufen wird... aber ich sehe nicht welche Datei nicht gefunden wird
hier zur Verdeutlichung meines Problems
index.php
<?php include_once ('translate/ajaxLangScript.php');?> //hier wird nur ein array generiert was später an js übergeben werden soll
//in der ajaxTranslation.js wird eine datei geholt (siehe script unten)
<script src="assets/js/pageScripts/ajaxTranslation.js"></script>
ajaxTranslation.js
var translate = '';
$.ajax({
url: '111111translate/ajaxLangScript.php',
dataType: 'json',
success: function(data) {
translate = data[0];
},async: false});
das habe ich nun absichtlich falsch geschrieben ===> 111111translate
Leider schreibt er mir nichts ins log
mmmhh?
Tach!
in dne access-logs kann ich auch nicht viel sehen ausser welche Datei aufgerufen wird... aber ich sehe nicht welche Datei nicht gefunden wird
Zu jedem Request steht der Statuscode dabei. Der sollte bei den nicht vorhandenen Dateien 404 sein. Wenn der auch 200 ist, dann ist da wohl was so konfiguriert, dass es ein Script als Ziel findet, welches dann auch noch 200 als Antwort gibt.
hier zur Verdeutlichung meines Problems
Der Code verdeutlicht gar nichts. Die Fragen, die du dir beantworten musst, sind: Kommt der Request an? (erzeugt einen Eintrag im Access-Log) Mit welchem Statuscode wird er beantwortet? (steht in der Zeile im Access-Log) Du kannst eigentlich auch schon im Browser schauen, was die Entwicklertools in ihrem Netzwerk-Tab so anzeigen. Auch was da im Body der Response steht, kann erleuchtend sein.
Wenn es immer 200 als Statuscode ist, dann untersuch die Serverkonfiguration nach allen Direktiven, die Requests beeinflussen. Irgendeine schickt dann den Request irgendwohin, wo er mit 200 beantwortet wird.
dedlfix.
ok die Erklärung war schon mal sehr gut Danke
als ich absichtlich den Link falsch schrieb stand im access.log
[27/Dec/2017:22:57:41 +0100] "GET /assets/js/pageScripts/ajaxTranslation.js HTTP/1.1" 200 559 "http://192.168.2.10:8080/index.php?id=0" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0"
192.168.2.22 - - [27/Dec/2017:22:57:44 +0100] "GET /111111translate/ajaxLangScript.php HTTP/1.1" 404 532 "http://192.168.2.10:8080/index.php?id=0" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:57.0) Gecko/20100101 Firefox/57.0"
die 404 532 zeigen dann wohl das er die Datei nicht gefunden hat
Info: ich programmiere hier rein eine private Anwendung und jetzt nach ca 2 Jahren mache ich am Prog weiter damals sofern ich mich erinnere stand aber alles im error.log des apache... seit der kürzlichen Neuinstallation ist alles anders
aha... jetzt habe ich auch im Entwickelertool meines firefox und dort in der Netzwerkanalyse den Fehler gefunden das er die Datei nicht findet…
Das hilft schon mal
Danke
Tach!
die 404 532 zeigen dann wohl das er die Datei nicht gefunden hat
404 ist der Statuscode, 532 die Anzahl der Bytes in der Response.
dedlfix.
Info: ich programmiere hier rein eine private Anwendung und jetzt nach ca 2 Jahren mache ich am Prog weiter damals sofern ich mich erinnere stand aber alles im error.log des apache... seit der kürzlichen Neuinstallation ist alles anders
aha... jetzt habe ich auch im Entwickelertool meines firefox und dort in der Netzwerkanalyse den Fehler gefunden das er die Datei nicht findet…
Das hilft schon mal
So isses. Loggen ist Loggen und Entwicklerwerkzeuge sind Entwicklerwerkzeuge. Und wenn die Anwendung bei einer fehlenden Datei selbst keinen Fehler wirft, dann wird die Datei von der Anwendung entweder nicht gebraucht oder Du machst beim Entwickeln was falsch. MfG
Lass mich raten: Vom Apache 2.2 auf 2.4 umgestiegen?
Wie Du ja schon herausgefunden hast, stehen die 404er (Not Found) im Falle der Deault-Konfiguration nur noch im access-log. Das macht auch Sinn.
Wer es dennoch so wie früher haben will, z.B. auf einem Entwicklersystem, der kann sich beim LogLevel was anderes einstellen.
Danke genau so ist es ... von 2.2 auf 2.4 und alles ist anders. Da ich nur auf einem Raspberry stets einen Standardinstalltion machte und mich nicht weiter um Apache und dessen Administration kümmerte (habe als Laie genug mit meinem Hobbyprogrammieren zu tun .. lach) war das nun für mich alles etwas zuviel
Vielen Dank hier an alle für die nützlichen Infos
Guten Rutsch wünsche ich ins Jahr 2018 Jürgen