Weitere Ausführung des Scripts nach header Location

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

  • Weitere Ausführung des Scripts nach header Location

    Hallo,

    header("Location: http://www.example.com/"); /* Redirect browser */
    exit; /* Make sure that code below does
    not get executed when we redirect. */

    Dieses Beispiel aus dem PHP-Manual lässt doch darauf schliessen, dass der Code, der nach dem header steht noch ausgeführt würde, wenn nicht mit exit abgebrochen wird.
    Bei mir klappt das irgendwie nicht. Es wird weitergeleitet, aber der Rest vom Script wird nicht mehr ausgeführt....

    Gruß Yoga

  • #2
    sicher ?
    bei mir stehen nach der header-Weiterleitung meist noch
    irgendwelche SQL-Anweisungen, und die werden ordentlich
    ausgeführt.

    Ausgaben kannste natürlich nichtmehr auf den Bildschirm bringen
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Gilt das auch für Scripte, die per Cronjob gestartet werden? Irgendwie werde ich den Verdacht nicht los, dass sich die Scripte sich irgendwie anders verhalten, wenn sie per Cronjob gestartet werden....

      Kommentar


      • #4
        was soll ein header Befehl bei einem durch cron gestarteten Job bringen ???
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          Naja, das ist ne längere Geschichte.

          Angefangen hat es damit, dass der Befehl fsockopen() teilweise nicht auf den Timeout reagiert, wenn eine Verbindung zu einem Server nicht möglich ist. Folglich hängt das Script teilweise minutenlang.

          Also bin ich auf die Idee gekommen, dass das Script sich per header ein Paar mal neu aufrufen soll, damit wenn ein Script hängt, die anderen noch laufen und weiterarbeiten.

          Klar könnte ich auch das gleiche Script x mal per Cronjob gleichzeitig starten. Mir gefiel aber die Lösung mit den Headern spontan besser, da es flexibler zu erweitern ist, wenn ich mal mehr Scripts parallel brauche.

          Kommentar


          • #6
            der header Befehl sagt dem Browser, das die Seite "umgezogen" ist, und dieser
            fordert sie unter der neuen Adresse neu an.
            Wer soll denn das bei einem per Cron aufgerufenen Script machen ?
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              Sag ich doch das Script soll sich selber nochmal neu starten, sozusagen vervielfältigen.

              Kommentar


              • #8
                der CJ erkennt den Header aber meines wissens nicht.

                Kommentar


                • #9
                  @Tobiaz: genau das meine ich, und denke deshalb, das das Script
                  durch die header Weiterleitung nicht neu angestossen wird.
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    Naja, per Cronjob verhält sich das Script eben ein bisschen anders. Z.B. kann das Script sich nur 10 mal per Header "vervielfältigen" - dann ist Schluss. Und eben das Problem, dass der Rest vom Script wohl nicht ausgeführt wird, nach der Umleitung....

                    Kommentar

                    Lädt...
                    X