WinFuture-Forum.de: Programm Starten - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 3 Seiten +
  • 1
  • 2
  • 3

Programm Starten

#16 Mitglied ist offline   Ghost-Lion 

geschrieben 07. Oktober 2007 - 19:43

7-Zip ist nur ein Beispiel. das Problem ist ich teste meine Sachen unter XAMPP
Meine Homepage - Mein Support-Forum für meine Tools
0

Anzeige



#17 _BigTim_

  • Gruppe: Gäste

geschrieben 07. Oktober 2007 - 19:56

Finde ich nicht. Wenn man z.B. von unterwegs aus, eine Backup Lösung oder sowas starten möchte (ja ich weiß, es gibt auch Timer)

Btw.: Mein Error-Log spuckte nix aus.
0

#18 Mitglied ist offline   Ghost-Lion 

geschrieben 07. Oktober 2007 - 20:31

Nur ist das Problem wir müssen ein gutes Beispiel finden das auch funktioniert. Selbst die PHP-Dokus sind nicht das gelbe vom ei
Meine Homepage - Mein Support-Forum für meine Tools
0

#19 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 07. Oktober 2007 - 21:42

Hi,

habe kurz etwas zusammengestellt, wenn man einfach ein Programm aufrufen will und die Ausgabe (bei Kommandozeilenprogrammen) nicht in php weiterverarbeitet werden soll.

Aufgeteilt nach zwei Kriterien: Einmal, ob das Programm sichtbar ist, während es ausgeführt wird und zum anderen, ob man warten muss, bis das Programm sich selber beendet (wie bei der normalen Ausführung von Ping) bzw. manuell beendet wird (exit, STRG+C oder über einen Taskmanager).

Verwendet werden nur exec() und popen(). Außerdem wird zum Starten der Anwendungen noch das Shell Command start benutzt.

1. Kommandozeilenprogramme
1.1 nicht sichtbar, warten bis Prozess beendet wird
exec('ping www.google.de');
oder
popen('ping www.google.de', 'r');

1.2 sichtbar, warten bis Prozess beendet wird
exec('start ping www.google.de');

1.3 sichtbar, keine Wartezeit
popen('start ping www.google.de', 'r');


2. GUI Programme (immer sichtbar, sonst wäre es unsinnig)
2.1 warten bis Prozess beendet wird
popen('notepad', 'r');
oder
exec('notepad');

2.2 keine Wartezeit
popen('start notepad', 'r');


Will man jetzt z.B. eine Anwendung starten, die nicht im PATH liegen kann man dies z.B. so tun:
popen('start C:\Programme\7-Zip\7zFM.exe', 'r');


Ist das Programm in einem Verzeichnis, dessen Pfad Leerzeichen besitzt, kann man es folgendermaßen starten:
popen('start /d"C:\Program Files\7-Zip\" 7zFM.exe', 'r');


Keine Gewähr auf Richtigkeit und "Sinnvolligkeit".

Gruß,
Stefan
0

#20 _BigTim_

  • Gruppe: Gäste

geschrieben 08. Oktober 2007 - 12:35

Unteres funktioniert bei mir leider nicht.
Wird auch keine Fehlermeldung ausgegeben.
0

#21 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 08. Oktober 2007 - 18:10

Hi,

prüf' mal die Einstellungen in deiner php.ini.

Ist safe_mode aus?
safe_mode = Off

Wie ist deine error_reporting Einstellung? Setz diese am besten auf
error_reporting = E_ALL


Werden nun Fehler angezeigt?

Gruß,
Stefan
0

#22 Mitglied ist offline   Ghost-Lion 

geschrieben 08. Oktober 2007 - 19:24

Bei mir funkt es auch nicht
Meine Homepage - Mein Support-Forum für meine Tools
0

#23 _BigTim_

  • Gruppe: Gäste

geschrieben 08. Oktober 2007 - 19:41

Safe Mod ist aus und error_reporting hat das: E_ALL & ~E_NOTICE
0

#24 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 09. Oktober 2007 - 12:06

Könnt ihr mal eure Skripten und phpinfo(); posten/anhängen, irgendwie ist das alles sehr komisch.

Gruß,
Stefan
0

#25 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.701
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 09. Oktober 2007 - 14:11

"C:\Program Files\7-Zip\"

Euch ist schon bewusst, dass - zumindest ist es bei exec so - man unter Windows keine Pfade mit Leerzeichen nutzen kann? Ja, auch das Einschließen in Anführungsstriche funktioniert nicht.
0

#26 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 09. Oktober 2007 - 15:22

Beitrag anzeigenZitat (Witi: 09.10.2007, 15:11)

"C:\Program Files\7-Zip\"

Euch ist schon bewusst, dass - zumindest ist es bei exec so - man unter Windows keine Pfade mit Leerzeichen nutzen kann? Ja, auch das Einschließen in Anführungsstriche funktioniert nicht.


Deswegen nutze ich das Working Dir von start. So ist es durchaus möglich, Pfade mit Leerzeichen zu verarbeiten.
start /d"C:\Program Files\7-Zip\" 7zFM.exe
funktioniert bei mir unter Windows XP und Vista ohne Probleme.

Gruß,
Stefan
0

#27 Mitglied ist offline   Ghost-Lion 

geschrieben 09. Oktober 2007 - 18:45

Also das hab ich i dem Skript stehen

<?php
exec('start /d"C:\Programme\7-Zip\" 7zFM.exe', 'r');
?>


Und das kommt raus

Zitat

Fatal error: Only variables can be passed by reference in C:\Programme\XAMPP\htdocs\php\run.php on line 2

Meine Homepage - Mein Support-Forum für meine Tools
0

#28 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 09. Oktober 2007 - 20:16

Hi,

exec() braucht den Parameter 'r' nicht. Teste es mal so:
<?php
exec('start /d"C:\Programme\7-Zip\" 7zFM.exe');
?>


Gruß,
Stefan

Dieser Beitrag wurde von Diewie bearbeitet: 09. Oktober 2007 - 20:20

0

#29 Mitglied ist offline   Ghost-Lion 

geschrieben 09. Oktober 2007 - 20:22

Kommt folgendes:

Zitat

Fatal error: Only variables can be passed by reference in C:\Programme\XAMPP\htdocs\php\run.php on line 3


ich hab XAMPP installiert

Zitat

###### ApacheFriends XAMPP (basic package) version 1.6.2 ######

+ Apache 2.2.4
+ MySQL 5.0.41
+ PHP 5.2.2 + PHP 4.4.7 + PEAR
+ PHP-Switch win32 1.0 (please use the "php-switch.bat")
+ XAMPP Control Version 2.5 from www.nat32.com
+ XAMPP Security 1.0
+ SQLite 2.8.15
+ OpenSSL 0.9.8e
+ phpMyAdmin 2.10.1
+ ADOdb 4.94
+ Mercury Mail Transport System v4.01b
+ FileZilla FTP Server 0.9.23
+ Webalizer 2.01-10
+ Zend Optimizer 3.2.4
+ eAccelerator 0.9.5 für PHP 5.2.2 (comment out in the php.ini)

* System Requirements:

+ 64 MB RAM (RECOMMENDED)
+ 200 MB free fixed disk
+ Windows 98, ME
+ Windows NT, 2000, XP (RECOMMENDED)

---------------------------------------------------------------

Dieser Beitrag wurde von Ghost-Lion bearbeitet: 09. Oktober 2007 - 20:27

Meine Homepage - Mein Support-Forum für meine Tools
0

#30 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 09. Oktober 2007 - 20:44

Schau bitte meinen letzten Post nochmal an, ich hab den editiert, weil ich nicht aufmerksam genug war beim ersten posten.
Falls es immer noch nicht geht, füg' bitte die Ausgabe von
<?php
phpinfo();
?>
an.

Gruß,
Stefan
0

Thema verteilen:


  • 3 Seiten +
  • 1
  • 2
  • 3

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0