Mailinglisten-Archive |
Hi Liste, ich hab mir als normaler User auf einem Linux-Server MySQL (3.22.16a-gamma), Apache (v1.3.6) und PHP (v3.0.9) installiert (PHP als Modul in den Apache kompiliert und Apache auf nem anderen Port gestellt), läuft soweit eigentlich ohne Probleme... dachte ich jedenfalls... Es sind irgendwie sehr eigenartige Phänomene die da auftreten... auf dem Server läuft ja Standartmäßig auch Apache+PHP, allerdings in den Versionen 1.3.3 und 3.0.5 (S.u.S.E 6.0 Standart-RPM) wenn ich nun mein auswert.php3-script auf den beiden laufen lasse, bekomme ich unterschiedliche ergebnisse, die mir teilweise sehr abstrakt vorkommen... Hier das Skript: <?php $header = getallheaders(); $ua = $header['User-Agent']; list( $browser, $ua ) = split( "/", $ua, 2 ); list( $version, $ua ) = split( " ", $ua, 2 ); if( $browser == "Mozilla" ) { $moz_browser = true; $browser = "Netscape"; $moz_ver = $version; if( ereg( "\[([a-z]{2})\]", $ua, $language ) ) $language = $language[1]; if( eregi( "MSIE", $ua ) ) { $browser = "Internet Explorer"; eregi( "MSIE ([0-9]\..+);", $ua, $version ); $version = $version[1]; } if( eregi( "Opera", $ua, $version ) ) { $browser = "Opera"; eregi( "Opera[/ ]([0-9]\..+);", $ua, $version ); $version = $version[1]; } if( eregi( "Win {0,1}(nt|[0-9]{1,2})", $ua, $win_ver ) ) $win_ver = $win_ver[1]; if( eregi( "Windows {0,1}(nt|[0-9]{1,2})", $ua, $win_ver ) ) $win_ver = $win_ver[1]; if( $win_ver ) $win_ver = trim( $win_ver ); if( $win_ver == "95" ) $win[95]++; elseif( $win_ver == "98" ) $win[98]++; elseif( $win_ver == "16" || ereg( "^3\.", $win_ver ) ) $win[16]++; elseif( eregi( "nt", $win_ver ) || ereg( "4\..+", $win_ver ) ) $win[nt]++; } echo( "Mozilla-Browser? " ); if( $moz_browser ) echo( "Ja\n<br>" ); echo( "Mozilla-Version: $moz_ver<br> Sprache: $language<br> Browser: $browser<br> Browser-Version: $version<br> Windows-Version: $win_ver<br><br> " ); ?> Ich rufe es mit dem IE auf und bekomme auf dem "normalen" Server als Output: Mozilla-Browser? Ja Mozilla-Version: 4.0 Sprache: Browser: Internet Explorer Browser-Version: 4.01 Windows-Version: 98 Bei meiner Installation bekomme ich allerdings: Mozilla-Browser? Ja Mozilla-Version: 4.0 Sprache: Browser: Netscape Browser-Version: 4.0 Windows-Version: Die Header, die ich da bekomme sind aber in Ordnung, wenn ich sie per: for( reset( $header ); $key = key( $header ); next( $header ) ) echo( "\$header[$key] = $header[$key]\n<br>" ); ausgeben lasse, sind sie identisch... Ich weiß echt nichtmehr weiter, wiso beim parsen des User-Agents solche Probleme auftreten... Bitte helft mir... Bye & Thanks Dante
php::bar PHP Wiki - Listenarchive