Exec() funktioniert nicht!

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

  • Exec() funktioniert nicht!

    Hallo,

    wenn ich via Skript mit Exec einen Befehl ausführen will, wird der nicht ausgeführt! Auf der Konsole selber funktioniert der Befehl einwandfrei!

    Woran kann das liegen? PHP-Einstellung, oder muss das Skript als ROOT auf dem Server laufen???

    Danke

  • #2
    Ist die Funktion verboten? Error-Reporting oben? Display-Errors an?

    Kommentar


    • #3
      Ja hatte error_reporting volle kanne an...bekomm aber garnix zurück.

      In der php.ini wurde die funktion aber auch nicht verboten! Woran kann das noch liegen?

      Kommentar


      • #4
        hast du mal ins error_log geschaut?
        Kissolino.com

        Kommentar


        • #5
          Was steht im zweiten und dritten Argument von exec() nach dem Aufruf?
          Ob das Shellscript als root laufen muß, kannst nur du beantworten.
          Teste aber erstmal, ob der Webserver-User (wwwrun oder nobody) überhaupt Shellzugang hat - führe mal ein einfaches ls aus.

          Kommentar


          • #6
            PHP-Code:
            <?php
                error_reporting
            (E_ALL);

                
            exec('/usr/local/psa/bin/mail.sh -c [email]test@meinedomain.de[/email] -passwd test',$a,$b);
                
            print_r($a);
                echo 
            '<br />'.$b;
            ?>
            Ausgabe:

            Array ( )
            254
            Was bedeutet 254? Finde auf php.net keine Bescheibung dafür!?

            Wenn ich LS ausführe bekomme ich folgende Ausgabe:

            h1343380:~ # ls
            .bash_history .exrc .gnupg .kbd .viminfo bin
            Danke
            Zuletzt geändert von ; 24.11.2007, 08:09.

            Kommentar


            • #7
              Hab das Script mal als Root laufen lassen, funktioniert auch nicht. Also mit den Rechten hat es denke ich nix zu tun...woran kann es noch liegen?

              Kommentar


              • #8
                254 wird von mail.sh zurückgegeben.

                Kommentar


                • #9
                  naja, das komische ist das es der befehl auf der Kommandozeile einwandfrei funktioniert, aber über exec eben nicht!

                  Also muss es an Exec() liegen!?

                  Kommentar


                  • #10
                    liegt nicht an exec(). befehle wie Dir kann er problemlos ausführen!

                    Das Problem liegt daran, dass ich aus meine Root-verzeichnis der Seite nicht raus komme, sprich keine weitere ebene runter, geschweige denn ins root vom server. Deswegen erreich ich auch nicht /usr/local/psa/bin/mail.sh!

                    Ist da meine Vermutung richtig?

                    Kommentar


                    • #11
                      dir?!? Du bist doch nicht etwa auf einer Windowskiste? Dort gibt es kein /usr/local/psa/bin und auch keine Shell, die .sh-Skripte ausführen kann. (Ich weiß, dass es auch ein dir unter Linux gibt. Aber ich frag trotzdem.)

                      Deine Serverumgebung kenne ich nicht, deine Vermutung kannst nur du allein überprüfen.
                      Zuletzt geändert von onemorenerd; 24.11.2007, 09:50.

                      Kommentar


                      • #12
                        nein, hab openSUSE 10.2 mit PHP 5.2.4!

                        ja "dir" gibts da auch!!!

                        Ach man, woran kann das nur liegen?

                        Kommentar


                        • #13
                          Willst du jetzt einfach warten, bis hier ein Hellseher vorbeikommt oder unternimmst du was?

                          dir /usr/local/psa/bin
                          cp /usr/local/psa/bin/mail.sh ./; ./mail.sh

                          Kommentar


                          • #14
                            ich unternehm ja was. such auch schon die error-codes von mail.sh - aber finde da auch nix...

                            aber ich weiß ne was ich noch weiter tun soll...

                            Kommentar


                            • #15
                              Im error_log steht:

                              PHP Warning: failed to open semaphore file /usr/local/psa/var/psasem.sem: Permission denied in Unknown on line 0
                              PHP Fatal error: Unable to start psasem module in Unknown on line 0
                              aber anfangen kann ich damit garnix!

                              Kommentar

                              Lädt...
                              X