| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

02-09-2010, 14:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Seite lädt nicht im IE
Hallo,
heute habe ich selbst mal ein Problem, bei dem ich grad nicht weiterkomme. Für einen Kunden habe ich eine Suchseite erstellt, auf der er wissenschaftliche Recherchen zu österreichischer Musik betreiben können soll. Die vorläufige Version ist unter [Adresse entfernt] zu finden.
Browserseitig ist keine Logik notwendig, es gibt keinen JS-Code. Das einzige, was Browser falsch machen könnten, ist das Handling des Session-Cookies.
Lokal funktioniert alles (mit FF und IE). Die o. g. Online-Version funktioniert auch problemlos im FF. Im IE (v. 8) dagegen kommen nur Suchergebnisse, wenn man "nur Literaturliste" ausgewählt hat. Schaltet man dort auf detailliert, bleibt der Status auf "Verbindung wird hergestellt..." (klingt für mich anders als "Seite wird geladen" oder "Warten auf Antwort", was ich ja noch verstehen würde). Es sieht für mich so aus, als würde er den Server nicht mehr finden, wenn man die detaillierte Ansicht auswählt. Das bleibt dann da stehen, solange man nichts unternimmt (eine Instanz des IE hat das gerade 30min lang durchgezogen, bis ich jetzt das Fenster geschlossen habe).
Mit der DB-Abfrage selbst kann es nichts zu tun haben, diese festgefrorene Anfrage ist nicht in der Prozessliste des MySQL-Servers enthalten und ich vermute, dass sie gar nicht bis dort hin kommt. Mit dem FF klappt es ja auch alles, also schließe ich serverseitige Fehler doch zu Recht aus, oder?
Das Ergebnis wird chunked ausgeliefert, also liegt es auch nicht am fehlenden Content-Length-Header, da ich mit Output Buffering arbeite.
Hat jemand eine Idee, woran das liegen könnte oder was ich übersehen habe?
Hinweis zum Ausprobieren: bei Name "mozart" eingeben und dann einmal als "nur Literaturliste" suchen (funktioniert) und einmal als "detailliert" (o. g. Problem).
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
Geändert von AmicaNoctis (02-09-2010 um 17:53 Uhr)
Grund: Adresse entfernt
|

02-09-2010, 14:57
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Problem nachvollziehbar - lustigerweise erscheint so gut wie sofort nach dem Betätigen des Suchen-Buttons in der Statuszeile “Done”, während im Tab-Titel “Connecting...” steht und sich das Sanduhr-Rädchen dreht ...
Am Code und auch mit den Developer Tools kann ich auf Anhieb nichts verdächtiges entdecken.
Hast du denn mal überprüft, was der IE an den Server schickt, wenn du das Formular absendest? (Netzwerk-Sniffer bemühen, oder alternativ erst mal vom Script die Daten in ein Logfile schreiben lassen, und danach mit exit aussteigen.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

02-09-2010, 15:17
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zitat:
Zitat von wahsaga
Hast du denn mal überprüft, was der IE an den Server schickt, wenn du das Formular absendest?
|
$_SERVER, $_SESSION und $_GET unterscheiden sich kein bisschen. Der einzige Unterschied in den $_POST-Daten ist, dass "type" mal "simple" (nur Literaturliste) und mal "detail" (detailliert) ist.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

02-09-2010, 16:09
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
Ich sitz hier grad mit einer IE6-Version
Mit dem bekomm ich sowohl bei 'nur Liste' als auch bei 'detailliert' ein
Zitat:
Die XML-Seite kann nicht angezeigt werden
Die XML-Eingabe kann nicht angezeigt werden, wenn Stylesheet verwendet wird. Beheben Sie den Fehler und klicken Sie dann auf Aktualisieren, oder wiederholen Sie den Vorgang später.
|
Leider lässt er mir hierbei nicht die Quelltextansicht öffnen.
Kannst du anhand der Logs nicht erkennen, ob der Request beim IE überhaupt ankommt und beim Server was anstupst?
Ich hatte mit 'chunked' mal irgendein Problem das in eine ähnliche Richtung ging, aber mir fällt es leider nicht mehr genau ein
__________________
Drelingdo
Krabonse
Simmannamando
Geändert von AmicaNoctis (02-09-2010 um 16:21 Uhr)
Grund: Code zu lang, Quote draus gemacht
|

02-09-2010, 16:19
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zitat:
Zitat von Quetschi
Die XML-Seite kann nicht angezeigt werden
|
Oh, das ist schlecht. Dabei liefere ich XHTML 1.0 Strict als text/html aus, aber es kann sein, dass Empty-Element-Tags darin nicht abwärtskompatibel sind (Leerzeichen vor dem />). Danke, ich werde das prüfen.
Zitat:
Zitat von Quetschi
Kannst du anhand der Logs nicht erkennen, ob der Request beim IE überhaupt ankommt und beim Server was anstupst?
|
Kann ich und es kommt auch was an, siehe hier:
Seite lädt nicht im IE
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

02-09-2010, 16:21
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
Aja, sorry - der Satz hier
Zitat:
|
diese festgefrorene Anfrage ist nicht in der Prozessliste des MySQL-Servers enthalten und ich vermute, dass sie gar nicht bis dort hin kommt.
|
hat mich etwas durcheinandergebracht.
Ich hatte irgendwie mal diese Probleme mit Keep-Alive und Transfer-Encoding chunked.
Das Problem könnte sich bei dir dadurch ergeben, dass bei 'detailliert' mehr Daten durchkommen und dadurch das chunking erst greift und eben das Problem verursacht.
Kannst du keep-alive auf dem Server mal deaktivieren?
EDIT:
Ich war fest der Überzeugung, dass ich damals einen Thread dazu hier hatte, aber ich kann ihn unter meinen eigenen nicht mehr finden.
__________________
Drelingdo
Krabonse
Simmannamando
|

02-09-2010, 16:28
|
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
Mein IE spukt das als Antwort aus.
Code:
name=mozart&profession=&place=&country=&composer=&composition=&keywords=&type=simple
HTTP/1.1 200 OK
Date: Thu, 02 Sep 2010 13:24:30 GMT
Server: Apache
X-Powered-By: PHP/5.3.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
Code:
name=mozart&profession=&place=&country=&composer=&composition=&keywords=&type=detail
HTTP/1.1 200 OK
Date: Thu, 02 Sep 2010 13:24:59 GMT
Server: Apache
X-Powered-By: PHP/5.3.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
da ich nicht so der experte in HTTP headern bin aber müsste der nicht das keep alive mitsenden ?
|

02-09-2010, 16:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zitat:
Zitat von Quetschi
Kannst du keep-alive auf dem Server mal deaktivieren?
|
Hab ich gemacht, danach im IE alle Daten gelöscht (Cache, Cookies, etc.) und nochmal versucht: Keine Änderung. Klang aber nach nem guten Tipp.
Hab ich schon erwähnt, dass ich den IE abgrundtief hasse? Ich kann mir eigentlich auch gar nicht vorstellen, was da intern genau passieren soll, das zu diesem Problem führt und ich bin der Meinung, dass ich mich mit HTTP, HTML, PHP ziemlich gut auskenne. Nur von FastCGI hab ich gar keine Ahnung, daher vermute ich das Problem dort, weil ich mir einfach mal anmaße, alles andere ausschließen zu können.
@wyveres: Probier bitte nochmal, es kann sein, du hast es gerade zum Zeitpunkt der Änderung versucht.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

02-09-2010, 16:35
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
Ich stochere leider auch nur noch in finsteren Erinnerungen rum - es hatte mit der Kombination keep-Alive und chunked zu tun. Der IE erkennt in manchen Fällen nicht, dass eine Datei fertiggeladen ist. Ist leider schon zu lange her um mich noch an genaueres erinnern zu können.
EDIT:
Mal was anderes - du lieferst xhtml1.0-Content aus mit dem Header text/html. Darf dann der Xml-Prolog am Anfang drinsein?
__________________
Drelingdo
Krabonse
Simmannamando
Geändert von Quetschi (02-09-2010 um 16:45 Uhr)
|

02-09-2010, 16:38
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
srry, wg. Doppelpost.
__________________
Drelingdo
Krabonse
Simmannamando
Geändert von Quetschi (02-09-2010 um 16:45 Uhr)
|

02-09-2010, 16:46
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
FastCGI ist doof!
Hab jetzt den letzten Teil wie folgt geändert:
PHP-Code:
$output = $view->output($doc);
header("Connection: close");
header("Content-Length: " . strlen($output));
header("Transfer-Encoding: identity");
header("X-Foo: sicherstellen, dass meine Headers auch gesetzt werden");
echo $output;
Ratet mal, was ankommt:
Zitat:
HTTP/1.1 200 OK
Date: Thu, 02 Sep 2010 13:43:52 GMT
Server: Apache
X-Powered-By: PHP/5.3.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
|
Ich kann die Header gar nicht setzen, was wahrscheinlich an diesem FastCGI liegt. Jemand noch eine Idee?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

02-09-2010, 16:48
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
Setz mal den zweiten Parameter von header() auf true.
__________________
Drelingdo
Krabonse
Simmannamando
|

02-09-2010, 16:56
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Ort: Dresden
Beiträge: 5.463
|
|
Zitat:
Zitat von Quetschi
Setz mal den zweiten Parameter von header() auf true.
|
Isser doch  True ist default und andernfalls müsste er trotzdem den X-Foo-Header ausgeben.
Hab grad noch das gefunden: FastCGI FAQ
Dort wird behauptet, man würde die Header direkt in der Ausgabe setzen. Hab ich auch probiert
PHP-Code:
$doc->documentElement->appendChild($doc->createComment(ob_get_clean())); $output = $view->output($doc); echo "Connection: close\r\n"; echo "Content-Length: ", strlen($output), "\r\n"; echo "Transfer-Encoding: identity\r\n"; echo "X-Foo: sicherstellen, dass meine Headers auch gesetzt werden\r\n\r\n"; echo $output;
Bringt genau gar nichts.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

02-09-2010, 17:00
|
|
Quetschi
PHP Expert
|
|
Registriert seit: Dec 2004
Beiträge: 2.679
|
|
Stimmt - sorry.
Aber irgendwas klappt da nicht. Versuchst du die Header zu spät zu manipulieren?
Bekomme seit einiger Zeit jetzt unten noch diese Meldungen:
Zitat:
|
Warning: Cannot modify header information - headers already sent by (output started at /.../view/DefaultView.php:16) in /.../index.php53 on line 130
|
__________________
Drelingdo
Krabonse
Simmannamando
Geändert von AmicaNoctis (02-09-2010 um 17:52 Uhr)
Grund: Anonymisierung meiner Serverpfade
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|