php soooooooo langsam

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php soooooooo langsam

    Hallo...
    was ist falsch ???
    Mein Webserver läuft hier auf meinem Rechner unter Apache 1.27,
    PHP ist 4.3.1 und wird über die php4apache.dll eingebunden.
    Der Zugang wird über dyndns geregelt.

    In meiner Startseite (index.php) ist ein klein wenig php.
    Das was ich bisher so kann.
    3 Text-Dateien werden aufgerufen und etwas hineingeschrieben.
    Besucherzähler und so.....
    Also nicht wirklich php...
    Ansonsten werden kleine Bildchen geladen.....usw

    Wenn ich im Internet die Seite aufrufe dauert es recht lange (15sek.) bis etwas erscheint. Mir ist klar, das erst php auf meinem server die arbeit machen muss bevor überhaupt etwas erscheint.
    Aber braucht php soooo lange ???

    Denn wenn ich die paar php zeilen herausnehme geht es rasend schnell.(2sek.)

    Wenn es aber an php und an meiner programmiererei liegt, müsste es doch auch etwas dauern bis sich meine Seite aufbaut ,wenn ich sie am Serverrechner mit Localhost aufrufe ????
    Da geht es aber auch ohne merkliche Verzögerung.!

    Was muss ich bei php noch beachten ???

    Ansonsten läuft alles ohne Probleme,auch php Scripte von richtigen php-
    spezialisten (Chat,Gästebuch usw).

    Wer kann mir die entscheidenden Tipps geben ???
    Danke !!!

    Bernd

  • #2
    Ohne PHP-Code kann man nicht viel sagen.
    Wie sieht denn der Code aus, den du rausgenommen hast?

    Kommentar


    • #3
      genau. ohne code kann man nichts sagen.

      aber wahrscheinlich hast du nur ne superlange schleife gemacht, die nicht sein muss...
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        vielleicht hat der auch probleme mit dem filehandling. das soll ja auch nicht immer das schnellste sein

        Kommentar


        • #5
          möglich. mich wundert nur, dass es lokal fix geht und von extern nicht.... netzwerkkarte im ar*** ?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            hier ist der code

            Hallo...danke für die Antworten.
            Ich hoffe es wird nicht zu lang........
            PHP-Code:
            <?
            //<!--== eigene IP festzustellen ==-->
            $myip = $SERVER_ADDR;
            If ($myip == $REMOTE_ADDR)
            {
            $myip ="192.168.1.1";
            }
            $Bes="Besucher";
            if ($EcksteinsBenutzername) {
             $Bes=$EcksteinsBenutzername;
            if(substr($SERVER_SOFTWARE,0,6) == ("Apache"))
            {
            $datei=fopen("Z:\access.log","a");
            }
            if(substr($SERVER_SOFTWARE,0,4) == ("Jana"))
            {
            $datei=fopen("C:\Programme\Jana2\Logfiles\Http.log","a");
            }
             fputs ($datei," Besucher -----> :");
             fputs ($datei,$Bes);
             fputs ($datei,"\r\n");
             fclose($datei);
            }
            //print "Hallo " .($Bes)." von ".gethostbyaddr( $REMOTE_ADDR );
            // <!-- Counter- Gesamt-Besucher zaehlen und in Counter.Txt schreiben -->
            $datei=fopen("D:\HP\logs\besucherip.txt","r");
            $lastip=fgets($datei,100);           //letzte IP aus Datei lesen
            fclose($datei);

            $datei=fopen("D:\HP\logs\counter.txt","r");
            $counter=fgets($datei,100);           //bisherige Gesamt-Anzahl aus Datei lesen
            fclose($datei);
            $REMOTE_ADDR=trim($REMOTE_ADDR);
            $lastip=trim($lastip);
            If ($REMOTE_ADDR != $lastip)        //wenn nicht schon gezaehlt in datei
            {
            $datei=fopen("D:\HP\logs\counter.txt","w");
            $counter=$counter+1;                                   // Gesamt-Counter + 1 schreiben
            fputs ($datei,$counter);
            fclose($datei);
            }
            ?>
            <?
            //<!-- Besucher in Datei nur mailbox nicht != ungleich -->
            $name = gethostbyaddr($REMOTE_ADDR);
            $mailbox = "mailbox";
            If ($name != $mailbox)
            {
            $datei=fopen("D:\HP\logs\besucherip.txt","w");
            //<!-- BesucherIP in Datei schreiben -->
            fputs ($datei,$REMOTE_ADDR);
            fclose($datei);
            //<!-- Email schreiben -->
            //include ("D:\HP\TOOLS\emailbeibesuch.php");
            //<!-- BesucherIP + Datum in Datei schreiben -->
            $datei=fopen("D:\HP\logs\allebesucher.txt","a");
            fputs ($datei,gethostbyaddr($REMOTE_ADDR));
            $space="  *  ";
            fputs ($datei,$space);
            $date=date("_d.m.y__H:i:s ");
            fputs ($datei,$date);
            fputs ($datei,$space);
            fputs ($datei,$REMOTE_ADDR);
            fputs ($datei,"\n");
            fclose($datei);
            }
            $datei=fopen("D:\HP\logs\besucher.txt","w");      //Anzahl Besucher z.Zt. auf HP +1
            $besucher=$besucher+1;
            fputs ($datei,$besucher);                         // Besucher z.Zt. +1 schreiben
            fclose($datei);
            $datei=fopen("D:\HP\logs\heute.txt","r");
            $heute=fgets($datei,200);                       //heutige Besucher aus Datei lesen
            fclose($datei);
            $datei=fopen("D:\HP\logs\heute.txt","w");
            $heute=$heute+1;                                // Besucher heute + 1 schreiben
            fputs ($datei,$heute);
            fclose($datei);
            ?>
            das wars
            Bernd
            Zuletzt geändert von TBT; 12.03.2003, 07:38.

            Kommentar


            • #7
              weiss denn keiner eine Antwort ???

              Hallo

              hat niemand einen Tipp für mich ???

              Bernd

              Kommentar


              • #8
                hm versuch mal logs in dem verzeichniss anzulegen wo das script is und nich auf anderen festplatten..

                und teste dann ma

                Kommentar


                • #9
                  Könnte der Aufruf von gethostbyaddr() dafür verantwortlich sein? kommentiere die mal aus.
                  [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
                  [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
                  [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

                  © Harald Schmidt

                  Kommentar


                  • #10
                    nein leider

                    Hallo
                    danke für die Antworten.Vorschläge brachten jedoch keine Änderung.
                    Habe meine Index.php umkopiert in index.htm.
                    Die index.htm ruft über refresh die index.php auf.
                    OK...es erscheint nun in der index.htm der php code..aber die seite ist in einer Sekunde da.Dann dauert es 11 Sekunden bis die index.php da ist.

                    Rufe ich die index.htm an meinem Rechner direkt auf, dauert es ca.1.5 Sekunden bis auch die index.php angezeigt wird.

                    Eigentlich kann es dann wohl an php nicht liegen ????
                    Am Apache aber auch nicht...habe Testweise OmniHTTP aktiviert...
                    php läuft hiermit eigentlich langsamer....aber bei Aufruf aus dem Internet
                    kein Unterschied.

                    Bernd

                    Kommentar


                    • #11
                      versuche mal die datei auf einen anderen server zu legen und dann zuzugreifen.

                      Kommentar


                      • #12
                        @Bernd

                        hattest du dies schon gemacht?

                        Original geschrieben von Troublegum
                        Könnte der Aufruf von gethostbyaddr() dafür verantwortlich sein? kommentiere die mal aus.
                        wenn gethostbyaddr() nicht sofort einen eintrag im dns findet, dauert es sehr lang.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          ja gemacht

                          ja habe den Eintrag gelöscht.....
                          leider ohne merkbaren Erfolg

                          Bernd

                          Kommentar


                          • #14
                            ohne merkbaren erfolg??

                            also hat es was gebracht?

                            hast du beide gethos.... entfernt? ich habe mindestens zwei gesehen.
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              nein ohne !!!

                              ja beide habe ich entfernt,bzw den doppelten Aufruf vorher schon in eine Variable gespeichert um dann nur noch zweimal die Variable abzufragen.

                              Auch wenn ich mehr php ich aus dem script entferne bringt das herzlich wenig.Kaum Messbar.
                              Wenn aber überhaupt kein php mehr drinn ist,ist die seite innerhalb einer Sekunde da.

                              Bernd

                              Kommentar

                              Lädt...
                              X