Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] THREADS in php

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] THREADS in php

    hallo,

    ich möchte mit hilfe von php threads, d.h. mehrere prozesse/scripte
    gleichzeitig starten, ohne wie zwangsläufig bei php üblich auf die
    antwort des gestarteten prozesses warten zu müssen, bisher
    habe ich dazu relativ wenig mit google gefunden, das ganze soll
    übrigens auf einem debian (linux) system laufen

    mfg


  • #2
    Re: THREADS in php

    Zitat von checksumde
    ich möchte mit hilfe von php threads, d.h. mehrere prozesse/scripte gleichzeitig starten, ohne wie zwangsläufig bei php üblich auf die antwort des gestarteten prozesses warten zu müssen,
    Ich vermute mal, Du suchst das:
    http://www.php.net/manual/de/ref.pcntl.php

    "You have to compile the CGI or CLI version of PHP with --enable-pcntl configuration option when compiling PHP to enable Process Control support."

    Kommentar


    • #3
      hallo,

      naja dazu-compilieren wollte ich eigentlich nichts, ich dachte
      dabei eher an ein shellscript das ich mit php starte um dann
      ein anderes script mehrfach auszuführen oder ähnliches

      Kommentar


      • #4
        Zitat von checksumde
        naja dazu-compilieren wollte ich eigentlich nichts,
        Bei den alten und kaputten PHP Versionen, die debian woody (4.1.2) oder sid (4.2.3) beiliegen, mußt Du Dir sowieso was ordentliches basteln.

        ich dachte dabei eher an ein shellscript das ich mit php starte um dann ein anderes script mehrfach auszuführen oder ähnliches
        Das ist generell etwas trickreich. Der Apache ist aus Sicherheitsgründen ein stark eingeschränkter "Popeluser". Um solche Scripte aufzurufen, solltest Du Dich mit den Möglichkeiten von SUDO beschäftigen. Auch das CLI von PHP >= 4.3.0 kann dabei von Interesse sein.

        Kommentar


        • #5
          so gehts:

          exec( "/path/to/php -q /var/www/myphp.file.php &" );

          Das & Zeichen sagt der Shell, dass das Programm im Hintergrund ausgeführt werden soll.... Wenn du zusätzlich alle Ausgaben des Programmes in einer Datei für Log-Zwecke speichern willst dann mach das so:

          exec( "/path/to/php -q /var/www/myphp.file.php > /path/to/logfile.log &" );

          Bye Michi.
          Und das soll ein Profiforum sein, bei solchen Antworten? Sorry
          Fragen sind ok, aber Antworten

          Kommentar


          • #6
            Re: so gehts:

            Zitat von RcRaCk2k
            exec( "/path/to/php -q /var/www/myphp.file.php &" );

            Und das soll ein Profiforum sein, bei solchen Antworten? Sorry
            Fragen sind ok, aber Antworten
            Meine Rede. Probiere das nächste Mal Dein Vorschläge erst mal aus.

            Kommentar


            • #7
              Willst mich verarschen?

              Willst mich wohl vereiern, oder?

              Also dieses Script geht wie ne Eins!
              http://de3.php.net/manual/de/function.exec.php

              Vielleicht solltest du mal auch die Referenzen zu den Executables checken und anpassen. System ist nicht gleich System.

              Was hast denn für ein Betriebsystem? Welche PHP-Version verwendest?
              Wo sind die Binarys zu deinen PHP-Binarys zu finden?

              Linux:
              cd /
              find -name php -print

              or locate php
              or whereis php

              Windows:
              1) Start
              2) Suchen
              3) php.exe

              Dieser Hinweis war jetzt allgemein. Ned dasst denkst ich würde glauben du wüsstest nicht, wie du nach einer Datei suchen kannst.

              Kommentar


              • #8
                Re: Willst mich verarschen?

                Zitat von RcRaCk2k
                Willst mich wohl vereiern, oder?
                Nein. Dir empfehle ich RTFM!

                Daß der Filename nicht mit -q sondern mit -f übergeben wird, solltest Du schon wissen. Ein & am Schluß ist sinnfrei, weil das CLI Interface kein Shellinterpreter ist.

                -> closed.

                Kommentar

                Lädt...
                X