eselonno: PHP im cgi-Skript ausführen

Hallo,
ich habe eine Web Anwendung auf einem Apache2-Server (Linux) laufen, die fast ausschließlich CGI-Skripte verwendet. Zur Erweiterung möche ich nun ein bestehendes PHP-Script einbinden. Wie ist es gernerell möglich aus einem CGI Script heraus PHP auszuführen.
Selbst ein 'echo "HAllo"' wird nicht ausgegeben. Logs bleiben ohne Meldung.

Danke.

  1. ich habe eine Web Anwendung auf einem Apache2-Server (Linux) laufen, die fast ausschließlich CGI-Skripte verwendet. Zur Erweiterung möche ich nun ein bestehendes PHP-Script einbinden. Wie ist es gernerell möglich aus einem CGI Script heraus PHP auszuführen.

    Sicher ist das möglich,wenn die Sprache in der das CGI geschrieben wurde, das ermöglicht. Dürften ziemlich alle sein.

    Selbst ein 'echo "HAllo"' wird nicht ausgegeben. Logs bleiben ohne Meldung.

    Dann machst du was falsch.

    1. [...]
      Sicher ist das möglich,wenn die Sprache in der das CGI geschrieben wurde, das ermöglicht. Dürften ziemlich alle sein.
      [...]
      Dann machst du was falsch.

      Lieber M.,

      wenn man nichts beizutragen hat, muss man auch nichts posten. Das beugt gewisser Verwirrung seitens der Fragesteller und der Mitleser vor :)

      Mit freundlichen Grüßen,
      ein Mitleser

      1. wenn man nichts beizutragen hat, muss man auch nichts posten. Das beugt gewisser Verwirrung seitens der Fragesteller und der Mitleser vor :)

        Und was trägt dein Post zum Thema bei?
        Kannst du mir etwa erklären, welche Programmiersprache der OP nutzt?Dass es Perl sein könnte, hat CPAN lediglich geraten.

        Also wenn du schon klugscheisst, versuch wenigstens, dass du dir nicht selbst ins Knie schiesst.

        1. Meine Herren,

          Kannst du mir etwa erklären, welche Programmiersprache der OP nutzt?Dass es Perl sein könnte, hat CPAN lediglich geraten.

          Der ausgewählte Themenbereich ist immerhin PERL.

          --
          Hey Girl,
          i wish you were asynchronous, so you'd give me a callback.
          1. Der ausgewählte Themenbereich ist immerhin PERL.

            Stimmt, das war eindeutig mein Fehler.

        2. gudn tach!

          wenn man nichts beizutragen hat, muss man auch nichts posten. Das beugt gewisser Verwirrung seitens der Fragesteller und der Mitleser vor :)

          Und was trägt dein Post zum Thema bei?

          "einMitleser" hat das thema gewechselt (->"zu diesem forum"). und dann passt es auch wieder.

          er wollte offenbar zu einer verbesserung des forums beitragen, dadurch dass solche beitraege wie deiner kuenftig vermieden werden. und haette er das nicht getan, dann haette ich eine entsprechende antwort auf dein post geschrieben, da auch ich deine antwort sehr unpassend fand, allerdings haette ich vermutlich den ton nicht so gut getroffen wie einMitleser.

          dein posting kam so rueber, als fuehltest du dich von dem fragesteller genervt. bloss warum?
          der user ist offenbar nicht haeufig hier, also kann es nicht an der haeufigkeit seines fragens liegen.
          die art zu fragen war ausserdem sehr sachlich, nicht unfreundlich und auch nicht in einer herablassenden erwartungshaltung geschrieben. er schien sich beim schreiben muehe gegeben zu haben, sein problem darzulegen. daran wirds also wohl auch nicht liegen, dass du ihm gegenueber pampig geworden bist.

          dann bleibt ja eigentlich nur noch uebrig, dass die frage nicht perfekt gestellt war und z.b. nicht mit minimalbeispielen versehen war. wenn dich jedoch leute nerven, die nicht-perfekte fragen stellen, waere es meiner meinung nach sinnvoller, den fehler bei dir zu suchen und nicht deine genervtheit an anderen auszulassen. positives arbeitsklima und so.

          am beispiel wirds vielleicht klarer...
          statt
            "Sicher ist das möglich,wenn die Sprache in der das CGI geschrieben wurde, das ermöglicht. Dürften ziemlich alle sein." haettest du einfacher fragen koennen:
            "meinst du perl?"
          denn wenn von cgi gesprochen wird und von keiner sprache die rede ist, ist aus historischen gruenden in den allermeisten faellen perl gemeint. das weisst du vermutlich auch. (dass du den expliziten hinweis auf perl uebersehen hattest, ist so oder so verzeihbar.)

          und statt "Dann machst du was falsch." waere ein "wie rufst du denn das php-script auf?" sinnvoller. theoretisch haettest du dann nicht mal nach der programmiersprache fragen muessen, weil es durch die antwort darauf vermutlich klar geworden waere.

          als beantworter im forum sollte man stets bedenken, dass man in der regel mehr erfahrung im forum und im frage-antwort-spiel hat als die fragesteller. insofern sollten beantworter da auch ruecksichtsvoller sein. (mir ist allerdings auch klar, dass man bei anderen leichter fehler sieht, als bei sich selbst...)

          prost
          seth

  2. Benutze IPC::System::Simple.

      
    use IPC::System::Simple qw(capturex);  
    my @php_output = capturex([0], 'php', 'path/to/the/program.php', 'some', 'more', 'arguments');  
    
    

    Im Fehlerfall wirft das automatisch eine Exception, im Gegensatz zu den eingebauten Funktionen system/qx.