php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 3 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 22-09-2006, 10:44
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hola, hab das gleiche Problem, denke ich zumindest.

Ich rufe OpenOffice mit exec auf und möchte ein Makro ausführen zum Konvertieren von Dateien.
Also genauer gesagt mach ich es im Moment über eine Batchdatei.
Um Schnickschnack mit Rechten zu umgehen, hab ich die Batchdatei mal aus php raus erstellen lassen.

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

$fp "test.bat";
$inhalt '"C:\Programme\OpenOffice.org 2.0\program\soffice.exe" 
-invisible "macro:///Standard.MyConversions.saveAsTxt
(D:\eclipse_worksp\zend_Test\1.doc,D:\eclipse_worksp\zend_Test\test.txt)"'
;
$f fopen($fp,"w+");
fwrite($f,$inhalt);
fclose($f);

      
$cmd=('test.bat');
      
exec($cmd);


echo 
'<br>';
echo
"geht, geht net, geht, geht net...";
?>
(Backslashs sind drin, der schmeißt die hier nur raus. Code ist also soweit korrekt)

Im Taskmanager sehe ich nun das der Prozess (Openoffice) gestartet wurde. Nun weiß ich das PHP solange der Porzess läuft nix mehr macht. Sieht man auch am Browser, rennt sich blöd.
Am Makro liegts nicht, die Batchdatei funktioniert einwandfrei, auch wenn ich das Makro über die Shell starte gibts kein Problem. Sogar wenn ich das Makro (bzw. das entsprechende php Skript) mit php.exe skript.php aus der Kommandozeile ausführe, läuft es fehlerfrei. Nur eben vom Browser aus nicht. Habe allen vorhandenen Benutzern alle Rechte gegeben, ... nix....NERV.

Habs spaßeshalber auch mal mit Notepad versucht. Gleiche Geschicht. Prozess startet, aber sonst passiert nix (wobei das ja glaube ich normal ist, weil exec ja alles invisible startet...).

Die Lösung von toco hört sich ja vielversprechend an, kann ich aber nicht so recht nachvollziehen, was er da genau macht und woran es gelegen hat.

Das gleiche Problem hab ich übrigens nicht nur bei Apache, sondern auch bei IIS.

Geändert von Skull77 (22-09-2006 um 10:49 Uhr)
Mit Zitat antworten
  #17 (permalink)  
Alt 22-09-2006, 11:00
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Nur mal so als Tip..

Was macht php denn aus C:\Programme ????
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #18 (permalink)  
Alt 22-09-2006, 11:05
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

??? Hä? Keine Ahnung, was macht es? Steh auf dem Schlauch!!
Also eigentlich sollte es so gehen, Prozess wird ja auch gestartet, also stimmt der Pfad.
Mit Zitat antworten
  #19 (permalink)  
Alt 22-09-2006, 11:13
hhcm
 PHP Senior
Links : Onlinestatus : hhcm ist offline
Registriert seit: Jun 2005
Ort: Viersen, NRW
Beiträge: 1.833
hhcm ist zur Zeit noch ein unbeschriebenes Blatt
hhcm eine Nachricht über ICQ schicken hhcm eine Nachricht über Skype™ schicken
Standard

Nee, ich stand jetzt auf dem Schlauch.. Sry.

Hier vielleicht was interessantes aus dem PHP Manual zu exec

Zitat:
I too wrestled with getting a program to run in the background in Windows while the script continues to execute. This method unlike the other solutions allows you to start any program minimized, maximized, or with no window at all. llbra@phpbrasil's solution does work but it sometimes produces an unwanted window on the desktop when you really want the task to run hidden.

start Notepad.exe minimized in the background:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("notepad.exe", 7, false);

start a shell command invisible in the background:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("cmd /C dir /S %windir%", 0, false);

start MSPaint maximized and wait for you to close it before continuing the script:
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("mspaint.exe", 3, true);

For more info on the Run() method go to:
http://msdn.microsoft.com/library/en...l/wsMthRun.asp
__________________
gruss Chris

Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."
Mit Zitat antworten
  #20 (permalink)  
Alt 22-09-2006, 12:11
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Kein Problem, war nur etwas verwirrt..

Also damit bekomm ich es auch nicht hin. Selbst die 3 Beispiele funktionieren bei mir nicht. Im Prinzip wieder das gleiche Problem.
Wenn ich es auf mein Problem übertrage, wirds caotisch. Hatte plötzlich alle Prozesse wenigstens 2 bis 3 mal auf. Und dem entsprechend ging garnix mehr... Evl auch irgend eine Syntax falsch, muss noch etwas rumforsten...

Mein Apache wird übrigens von SYSTEM gestartet, falls das etwas hilft...

p.s. habs nu mal auf Admin geändert. Nu wird alles was irgednwie damit zusammenhängt vom Admin ausgeführt. Scheint aber auch nix zu bringen.

Geändert von Skull77 (22-09-2006 um 12:50 Uhr)
Mit Zitat antworten
  #21 (permalink)  
Alt 22-09-2006, 14:46
Skull77
 Newbie
Links : Onlinestatus : Skull77 ist offline
Registriert seit: Aug 2006
Beiträge: 10
Skull77 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, denke mal das ich die Lösung nu hab. Kanns noch net 100%ig sagen, weil ich dafür OOo nochmal neu installieren muss.

Ich habe jetzt einfach bei dem Dienst der Apche startet das Kontrollkästchen "Datenaustausch mit Desktop erlauben" (oder so ähnlich) aktiviert. Nun kann ich schon mal alle Programme öffnen. Jetzt funktioniert das nur bei OpenOffice mit den Makros noch nicht, weil die von dem Benutzer XY angelegt wurden. Wird OOo aber von dem Browser aus ausgeführt, wird es von dem Benutzer SYSTEM aufgerufen. Der Benutzer SYSTEM hat aber keine Makros in OOo. Nu installiere ich OOo als Netzwerkinstallation und habe damit nur noch einen Makroordner für alle und damit sollte es dann hoffentlich gehen!!

ps.
so, nu läufts!! FREU!!! Neu installieren von OOo hat aber nichts gebracht. Scheint als gäbe es keine vollwertige Netzwerkinstallation. Immer wenn ich nun versucht habe das Makro via PHP und exec aufzurufen, konnte er das Makro nicht finden (Fehlermeldung war klasse, gab keine...). Das lag daran, dass OOo mit dem Benutzernahmen SYSTEM aufgerufen wird. Die Makros wurden aber unter dem Benutzernamen XY erstellt und standen somit SYSTEM nicht zur Verfügung. Lösung des Problems (ich kann OOo nicht als SYSTEM öffnen): Ich habe mit exec OOo nur geöffnet. Dann die Makros erstellt. Nu kann ich endlich mit exec OOo und die Makros öffnen!!! SUUUUPER!!!

Ich benötige das übrigens um mittels OOo alle einkommenden Formate in TXT zu konvertieren (oder was auch immer ich am Ende brauche). Sehr nützliche Sache das. Es gibt zwar ein zwei Tools die das etwas einfacher können, aber die sind nicht wirklich seriös und gefallen meinem Chef net.

ENDE

Geändert von Skull77 (22-09-2006 um 15:58 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:01 Uhr.