header location -> limit?

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

  • header location -> limit?

    Hallo,

    ein Script soll sich, nachdem es durchgelaufen ist, wieder selber neu starten.
    header("Location: http://XXX.XXX.XXX.XXX/script.php")

    Das funktioniert auch, allerdings ist nach dem 10 ten Selbst-Aufruf immer Schluss. Wird da irgendein Zähler mitgeschickt? Wie kann ich den abnullen?

    Gruß Yoga

  • #2
    es gibt keine begrenzung. nur deinen server.

    warum läuft das script über endlos? wahrscheinlich ist hier das problem zu suchen. dein server könnte hier durchaus probleme machen.
    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


    • #3
      Das Script wird per Cronjob gestartet und soll externe Dateien per fsockopen() öffnen. Um die Zeit effektiver zu nutzen sollen die Anfragen nicht nacheinander, sondern parallel abgearbeitet werden.

      Die einzige Möglichkeit zwei Funktionen in PHP quasi gleichzeitig auszuführen, die ich kenne ist die, dass man per header das gleiche Script ein zweites Mal startet... Oder gibt es da noch eine andere Möglichkeit?

      Ein weiteres Problem ist, dass die Funktion fsockopen() manchmal nicht auf den Timeout reagiert und das Script dann nach ewiger Wartezeit abschmiert

      Kommentar


      • #4
        header("Location: ....")

        macht eine weiterleitung und keinen neuen task auf.

        wenn du das mittels cronjob machst, solltest du mehrere cronjobs parallel aufrufen.

        der fsockopen() kannst du meines wissens auch einen timeout angeben.
        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


        • #5
          vielleicht ein sleep() reinmachen

          weil sonst würde doch ein executing timeout fehler kommen (oder wie der heißt)

          mfg

          Kommentar


          • #6
            Ich habe es nochmal genau analysiert. Führe ich das Script im Browser aus, so verweist das Script endlos auf sich selbst, solange ich im Browser nicht auf Abbrechen klicke.

            Stoße ich das Script aber per Cronjob an, dann verweist das Script genau 10 mal weiter - dann ist Schluss. Da muss wohl doch irgendeine Form von Zähler mitlaufen, die wohl verhindern soll, dass sich ein Script selbständig macht. Wo kann man sowas konfigurieren?

            Yoga

            Kommentar


            • #7
              Hmm, für die maximale Anzahl PHP-Prozesse gibts zumindest in der php.ini keine Einstellungsmöglichkeit. Versuch doch mal den maximalen Speicherverbrauch (memory_limit) zu verdoppeln.

              Kommentar


              • #8
                Original geschrieben von pekka
                Versuch doch mal den maximalen Speicherverbrauch (memory_limit) zu verdoppeln.
                ich denke nicht, dass das klug ist. schliesslich läuft das script immer nur einmal. nacheinander. vielleicht auch zweimal, wenn er zwei crons hat. aber niemals 10.000 mal gleichzeitig.

                ich denke eher, dass im script was buggy ist.
                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


                • #9
                  Hmm. Ich weiss halt nicht wie schnell die Prozesse wieder beendet und der Speicher wieder freigegeben werden. Ich denk einen Versuch wärs schon wert um zu schauen ob sich da was tut. Ansonsten geb ich Dir Recht, @Yoga4u: Schickt das Script Mails raus? Vielleicht ist der queue voll und das Skript beendet sich, wenn mail() false zurückgibt? Willst Du das Skript posten?

                  Kommentar


                  • #10
                    einen versuch ist es wert. da gebe ich dir 100% recht. aber du weisst ja wie das mit den hobby-codern ist. hauptsache es geht im moment. und dann bleibt die einstellung eben so.

                    und drei tage später wird gepostet, weil es beim hoster nicht aber zu hause geht...
                    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


                    • #11
                      Ähm, wenn du das Script per cronjob startest, funktioniert die header() Weiterleitung doch gar nicht.
                      [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


                      • #12
                        wieso. ich starte bei php-scripts via cronjob immer mit lynx. und da geht es ja..
                        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
                          ach so, ich meinte jetzt wenn du das script mit dem cli von php aufrufst.
                          [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


                          • #14
                            da hast du wohl recht. mal sehen was er zu seiner aufrufmethode sagt.
                            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
                              ich benutze auch lynx für meine Cronjobs.

                              Kommentar

                              Lädt...
                              X