shell_exec

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

  • shell_exec

    hi,

    ich will per shell_exec befehle ausführen. Habe hier das Beispiel der bei php.net zu finden ist ausprobiert.

    PHP-Code:
    <?php
    $output 
    shell_exec('ls -lart');
    echo 
    "<pre>$output</pre>";
    ?>
    .. der skript wird ausgeführt, aber nichts ausgegeben. Habe auch nur mit ls probiert und anderen Befehlen, es kommt nie eine ausgabe.

    Habe bei mir einen Apache 2 Server mit PHP 5.1.4 und MySql installiert und kofiguriert.

    .. kann da jemand weiter helfen? .. wo muss ich was ändern/einstellen damit ich shell_exec benutzen kann?
    ( bzw. wieso krieg ich keine Ausgabe? )

    .. also bei mir ist safe_mode = off. ... falls das irgendwas zu sagen hat.

    .. und worauf müsste ich achten damit das auf einen linux server klappt?

    -- also, es reicht erst mal, wenn das bei mir klappt.

    greetz

  • #2
    .. und worauf müsste ich achten damit das auf einen linux server klappt?
    beantwortet deine frag im prinzip von selber ... seitwann gibt es bei windows ls?
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      .. stimmt, ich hab cygwin installiert, deswegen klappt bei mir ls.

      gut, ähm, dann versuch mein problem etwas näher zu erläutern.

      .. habe vor order dateien zu entschlüsseln, order dateien die mit pgp verschlüsselt wurden.

      benutze hier zu gnupg und gnume

      Because of the US Government's restrictions on exporting high-grade encryption technology, giving PGP to people outside the US was illegal. Because of this a team of programmers lead by Werner Koch in Germany took it upon themselves to write an Open Source, RFC2440 (OpenPGP) alternative to PGP called GNU Privacy Guard, or GnuPG.
      http://devzone.zend.com/node/view/id/1265

      .. habe gnume ( gnu made easy ) installiert, den pfad als umgebungsvariable bei gesetzt, und kann per cmd wie im artikel
      auch beschrieben ist, so eine datei verschüsseln.

      PHP-Code:
      gpg --[email]john@doe.com[/emailmy_secret_file.txt 
      .. der schlüssel muss vorher natürlich erst erstellt worden sein.

      .. da ich das ganze automatisieren will, fand ich den PHP code vom obigen link nochmal sehr hilfreich.

      PHP-Code:
      <?php 
          $gpg 
      '/usr/bin/gpg'
          
      $recipient 'john@doe.com'
          
      $secret_file 'secret_file.txt'

          echo 
      shell_exec("$gpg -e -r $recipient $secret_file"); 
      ?>
      .. so, wenn ich diesen skript mit meinen daten asführe, wird die datei aber nicht erstellt.

      habe das hier dann in angriff genommen:


      PHP-Code:
        $pgp         '/usr/bin/gpg'
      //$pgp         = '/usr/home/myhome/.pgp';
        
      $recipient   'to@send.de'
         
      $secret_file 'secret_file.txt'

         
      putenv("PGPPATH=$pgp"); 
      auch mit absolutem pfad natürlich. .. aber ich bekomm nie eine ausgabe und die datei wird nicht verschlüsselt und abgespeichert!
      Zuletzt geändert von p4cm4n; 18.02.2007, 09:33.

      Kommentar


      • #4
        .. weil ich cygwin installiert habe, müsste das eigentlich eine ausgabe erzeugen?? ( per windows cmd klappt das jedenfalls )

        .. bzw. für mein eigentliches problem, hab den pfad für gpg bei mir in der umgebungsvariable gesetzt. .. ( genauso wie ich den pfad für cygwin da eingetragen habe )

        .. meine frage ist denk ich ma dann nur, wie ich die pfade an php weiter gebe, so das er damit auch was anfangen kann.

        ini eintrag?
        .. das mit putenv mit absolutem und relativen pfad geht so wie ich das benutze nicht.

        .. wollte nur nochmal was dazu ergänzen, kein stress.



        greetz

        EDIT:
        Das erzeugt jetzt eine Ausgabe:
        PHP-Code:
        <?php
        $cygwin 
        "c:\\cygwin\\bin";
        putenv("PATH=$cygwin");

        $output shell_exec('ls -lart');
        echo 
        "<pre>$output</pre>";
        ?>
        Das hier immernoch nicht:
        PHP-Code:
        <?php 
            $pgp         
        "e:\\webroot\\gnupgp\\gpgme";

            
        $gpg          '/usr/bin/gpg'
            
        $recipient   'user@send.de'
            
        $secret_file 'secret_file.txt'

            
        putenv("PATH=$pgp");

            echo 
        shell_exec"gpg -e -r $recipient $secret_file);
        ?>
        Naja, es scheint ja nur noch ne kleinigkeit zu sein!
        Zuletzt geändert von p4cm4n; 18.02.2007, 10:25.

        Kommentar

        Lädt...
        X