Programm per PHP starten

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

  • Programm per PHP starten

    Hi,
    ich prgrammier noch nich lange in PHP, und habe direkt ein Problem

    Die Board-Suche konnte mir leider nicht Helfen, bzw die ergebnisse die Sie mir geliefert hat konnten mir nicht Helfen.

    Ich möchte aus einem PHP Script ein Programm starten. Dies mache ich mit folgendem Befehl:

    PHP-Code:
    exec('C:\Programme\Altiris\Software Virtualization Agent\svscmd.exe' .$data['software']. DEL -F); 
    Wenn ich das Script nun ausführe lädt es sich zu tode und es passiert einfach garnichts.
    Der SafeMode ist bereits aus und ich habe diesen Befehl in allen möglichen Variationen ausprobiert.
    Kann mir vielleicht jemand sagen was ich falsch mache? Ich verzweifle noch!

    Einen freundlichen Gruß
    tocco

  • #2
    Ich bin mir jetzt nicht 100% sicher, aber wenn der Safemode aus ist kann man zwar ausführbare Dateien starten , aber dein Webserver verwendet i.d.R. einen eigenen User für die Webprozesse - die Datei gehört aber bestimmt root oder nicht ?

    Versuch mal die Zurodnung zum gleichen User ...

    Bin mir hier nicht ganz sicher ob durch den safe_mode auch die Userprüfung hinfällig ist.

    Kommentar


    • #3
      Also der Besitzer war ursprünglich der Administrator. Den habe ich jetzt einmal auf den ausführenden Benutzer geändert. Außerdem hab ich die Berechtigung für die Datei für Jeder auf Vollberechtigung gesetzt. Leider hilft das auch nicht... selbe effekte wie oben beschrieben...

      Aber trotzdem danke für die schnelle Antwort

      Kommentar


      • #4
        bin mir nichz ganz sicher - aber das dürfte nur funktionieren, wenn du das als root aufrufst - ich hab deinen befehl mal getestet, wenn ichs mit n notepad mache gehts bei mir - ps.: ich verwende xampp als server ...

        PHP-Code:
        exec('C:\\Windows\\notepad.exe'); 
        Zuletzt geändert von dani_o; 13.09.2006, 10:05.
        Signatur-Text ...

        Kommentar


        • #5
          also ich benutze ja auch den xampp allerdings funktioniert exakt der selbe befehl wie du ihn verwendet hast bei mir auch nicht. Wieder dieses zu tode laden...

          wie kann ich diese datei denn als root aufrufen?

          Kommentar


          • #6
            hab grade was getestet - wenn ich im netzwerk das aufrufe, wird auf dem pc das excec ausgeführt, wo der server installiert ist - im netwerk selber siehst du, wenn du es aufrust NICHT - vielleicht ist es das bei dir !?!
            Signatur-Text ...

            Kommentar


            • #7
              das heißt das exec wird auf dem Server selbst ausgeführt?
              Also selbst wenn ich vom Server aus notepad starten will macht er es nich... genauso wenig wie auf nem client im netz.

              Wie bekomm ich das Script denn dazu die Datei auf dem Rechner ausgeführt wird auf dem das Script gestartet wird?

              Kommentar


              • #8
                Wart mal, das ist nicht dein ernst, oder?

                Dachtest du jetzt, das die durch PHP (serverseitig) ein Programm auf deinem CLIENT starten kannst?

                Mach dir bitte mal den Unterschied bewußt...

                Kommentar


                • #9
                  Sorry war halt ein denkfehler von mir... Bin halt VBScript gewöhnt^^ Mir ist eben auch eingefallen das es nur auf dem Server ausgefühert werden kann.

                  Ist aber auch kein Problem wenn es auf dem Server ausgeführt wird... Nur muss dass ja auch erstmal klappen

                  Kommentar


                  • #10
                    Original geschrieben von tocco
                    Bin halt VBScript gewöhnt^^
                    Das würd ich stets leugnen wenn es bei mir so wäre.

                    Ich hab die leise vermutung dass das was du vorhast nicht so ohne weiteres geht.
                    Sag uns doch bitte noch mal genau was du vorhast. Welches verhalten möchtest
                    du hier haben ?

                    greets
                    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                    Kommentar


                    • #11
                      Also...
                      Ich möchte über ein PHP Script die Datei 'C:\Programme\Altiris\Software Virtualization Agent\svscmd.exe' starten. Dieses Programm ist commandozeilen basiert. Diesem Programm möchte ich den Befehl 'Name DEL -F' mitgeben.

                      Dieses Programm könnte ich dann per dynamisch generierter Batchdatei starten lassen.

                      So nun klappt es bei mir aber nicht irgendein Programm oder eine Batch zu starten. Wenn ich es hinbekomm ein Programm per PHP zu starten wird der rest kein Problem sein.

                      Gruß
                      tocco

                      Kommentar


                      • #12
                        So weiß nun warum es nicht funktioniert hat. Der Interne WebServer User, der den Dienst für PHP ausführt besitzt keine Arbeitsoberfläche, auf welcher er ein Programm starten kann...
                        Um das Problem zu beheben muss man den Webserver Dienst (in mienem Fall Apache2) von dem User starten lassen, der gerade angemeldet ist.
                        Dies ist für meine Zwecke allerdings äußerst Unkomfortabel. Deshalb habe ich eine Lösung in VBScript geschrieben, in der ich das PHP Script per php.exe vom WebServer aus starte und am Ende des Scriptes ein echo mit einem Befehl ausgeben lasse, so dass das VBS damit weiterarbeiten kann.

                        Dies sieht dann so aus:

                        PHP-Code:
                        Set WshShell CreateObject("WScript.Shell")

                        Set oExec WshShell.Exec("c:\programme\xampp\php\php.exe C:\test.php")

                        ergebnis oExec.StdOut.ReadAll 
                        In ergebnis ist nun alles gespeichert, dass vom PHP Script ausgegeben wird.


                        Gruß
                        tocco

                        Kommentar


                        • #13
                          Hi,

                          ich hab selten sowas ekliges gesehen. Warum machst du es nicht gleich
                          per vbs ?


                          greets
                          (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                          Kommentar


                          • #14
                            Original geschrieben von closure
                            Hi,

                            ich hab selten sowas ekliges gesehen. Warum machst du es nicht gleich
                            per vbs ?


                            greets
                            Ich finde es deutlich einfacher aus PHP raus MYSQL DB's anzusprechen. Deshalb mache ich es aus einer Mischung von VBS und PHP :P

                            Kommentar


                            • #15
                              Hi,

                              ist es das wirklich wert ? Ich würde mir das nochmal überlegen. Da gibt es sicher
                              deutliche elegantere(weniger fehlanfällige) lösungen.

                              greets
                              (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                              Kommentar

                              Lädt...
                              X