Bambel: & Server > ist doch schwachsinnig

Beitrag lesen

Hallo,

soooo toll ist Apache jetzt wirklich nicht. Und ich überlege tatsächlich, ob ich nicht doch beim IIS beleibe. Denn meine (ca. 8000 Stück, 300MB Volumina) PHP-Daten spinnen auf Apache völlig rum.

Also, erst wollte ich PHP auf Apache als CGI-Teil laufen lassen. Ziemlich dumm, denn viele Teile wie so $_SERVER funktionieren gar net, die Adresse der Seite nennt er einem nämlich immer php.exe (mit pfad, also C:\php\php.exe...).
Na gut, dann eben PHP als API. Kein Problem, geht so schon wesentlich besser, aber unterm IIS wars dann doch noch besser ...

Zum Beispiel: $_SERVER["QUERY_STRING"] ist bei nicht-existierendem-query-string unterm IIS als CGI immer nicht-existierend gewesen, entsprechend gut funktioniert (beispielsweise) folgende Seite:

<?php
 $the_server = "http://" . $_SERVER["SERVER_NAME"] . "/";

if(!isset($_SERVER["QUERY_STRING"]))
   // include "librarys/winterdesign/splash.htm"; kein Weihnachtsdesign mehr :-)
   header("Location: portal.php");
 else if(preg_match ("/\d{1,3}/", $_SERVER["QUERY_STRING"]))
   header("Location: ".$the_server."server/webcode.php?code={$_SERVER["QUERY_STRING"]}");
 else if(isset($_GET["refer"]))
   header("Location: ".$the_server."server/refer.php?".$_GET["refer"]);
 else
 {
   function ref_to($where, $abs=false)
    {
      global $the_server;
      header("Location: " . ($abs ? "" : $the_server) . $where);
    }

switch(strtolower($_SERVER["QUERY_STRING"]))
   {
     case "start":
     case "portal":
     case "go":              ref_to("portal.php"); break;
     case "upload":          ref_to("server/upload.php"); break;
     case "download":        ref_to("server/download.php"); break;
     case "lanchat":
     case "chat":            ref_to("server/chat/"); break;
     case "components":      ref_to("server/components.php"); break;
     case "explore":
     case "explorer":        ref_to("explorer/"); break;
     case "help":
     case "hilfe":           ref_to("server/help/"); break;
     case "nachrichten":
     case "notizzettel":     ref_to("nachrichten/"); break;
     case "sideopener":
     case "seitenöffner":    ref_to("server/sideopener.php"); break;
     case "sideopenerconfigure":
                             ref_to("server/sideopener.php?action=configure"); break;
     case "news":            ref_to("server/news.php"); break;
     case "ftp":             ref_to("ftp://server", true); break;
     case "suche":
     case "search":          ref_to("suche/index.php"); break;
     default:
            ?>
             <html>
              <head>
               <title>server :: Fehler</title>
              </head>
              <body>
               <script language="JavaScript">
                <!--
                alert("Kein korrekter SveniWebserver-Startseitenaufruf.\nWert des Query-Strings: "<?=$_SERVER["QUERY_STRING"]; ?>"");
                location.href = "<? print "server/errors/php-error.php?site=%2Findex.php&error=Nicht+korrekte+Query-String-Angabe:+%22". urlencode($_SERVER["QUERY_STRING"]) ."+%22&ByWho=user&help=none"; ?>";
                -->
               </script>
               <noscript>
                 Keine korrekter Aufruf mithilfe des Query-Strings. Wert: "<?=$_SERVER["QUERY_STRING"]; ?>".
               </noscript>
              </body>
              </html>
            <?php
             break;
   }
 }
?>

wunderschön, wunderklein, wundersüß. Bliiger kleiner SCript, den ich mir als startdatei meines Servers gebaut habe. also, schön, wenn ich nun "server?download" eingebe (was dann wohl zu "http://server/?download" >> "http://server/index.php?download" wird), dann komme ich eben zum Download, etc. wunderschön, wunderbar. Ach ja, und "server" alleine begibt uns beim iis auf unser wunderschönes Portal (17KB hähähä), beim Apachen jedoch zu einer Fehlerseite ...

Also: Apache: Querystring = leer >> $_SERVER["QUERY_STRING"] == ""

toll. Das bedeutet: 8000 Dateien umbauen: schaffe ich doch bis morgen - bestimmt.

[bitte scrollen]

[bitte nicht mehr scrollen]

Das soll doch dann ein Scherz sein, oder ? ich hoffe.

vielen dank für's lesen,
und stellung nehmen,

Bambel, -Hannes- Bambel (<>b,jb)