Esecuzione programmi in locale

Ho un server W2000 con Apache e PHP5. Sto cercando di lanciare sul PC locale Outlook tramite una pagina PHP. Mi sembra di aver capito che il codice potrebbe essere questo:

<?php

system ("C:\Programmi\Microsoft Office\Office10\OUTLOOK.EXE");

?>

Quando lancio la pagina, IE macina e mi restituisce una pagina bianca mentre sul PC locale non parte un accidente....

Dove sto sbagliando?

Grazie a tutti.

Andrea

inviato 10 anni fa
andrea603
X 0 X

Non so se ho capito bene cosa tu voglia fare, ma mi pare che per utilizzare outlook con php, si debbano usare le COM:

http://it.php.net/manual/it/ref.com.php

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Ciao Lore,

io vorrei (e metto il condizionale!) dal client aprire una pagina PHP sul server

e premendo un bottone lanciare Outlook sul PC locale (che logicamente esiste

nella cartella locale  "C:\Programmi\Microsoft Office\Office10\OUTLOOK.EXE" ).

Ho dato un'occhiata al link che mi hai passato ma ho paura che il problema sia troppo

complicato per me...

Grazie, proverò a studiare ... :(

andrea

risposto 10 anni fa
andrea603
X 0 X

Sto cercando di capirci qualcosa... ho preso un esempio e creato una pagina così:

<?

// starting word

$word = new COM("word.application") or die("Unable to instanciate Word");

print "Loaded Word, version {$word->Version}\n";

// bring it to front

$word->Visible = 1;

// Open a word document, or anything else that word

// can read

$input ="c:\\test.html";

$word->Documents->Open($input);

// closing word

//$word->Documents[1]->Close(false);

//$word->Quit();

// free the object

//$word->Release();

//$word = null;

//unset($word);

?>

che dovrebbe aprirmi Word nel PC locale...

invece mi ritorna questo:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': Sintassi non valida. ' in C:\WEB\lancio.php:27 Stack trace: #0 C:\WEB\lancio.php(27): com->com('word.applicatio...') #1 {main} thrown in C:\WEB\lancio.php on line 27

nella versione di PHP che uso le COM dovrebbero essere abilitate.....

cosa sto sbagliando ?????

grazie a tutti

andrea

risposto 10 anni fa
andrea603
X 0 X

qual'è la riga 27?

risposto 10 anni fa
LonelyWolf
X 0 X

Sono un grande... ho passato il codice dell'esempio ed il risultato della prova precedente....

Ora ho riavviato Apache e con il codice che ho passato prima non mi interpreta più la pagina come php...

Son stufo, ho bisogno di ferie... NB: le ho appena fatte!  :uglystupid:

Provo a rimettere un pò in ordine!

Scusate

andrea

 

risposto 10 anni fa
andrea603
X 0 X

Ora ho rimesso tutto in piedi... riassumendo:

codice di test

<?php

// starting word

$word = new COM("word.application") or die("Unable to instanciate Word");

print "Loaded Word, version {$word->Version}\n";

// bring it to front

$word->Visible = 1;

// Open a word document, or anything else that word

// can read

$input ="c:\\test.html";

$word->Documents->Open($input);

// closing word

//$word->Documents[1]->Close(false);

//$word->Quit();

// free the object

//$word->Release();

//$word = null;

//unset($word);

?>

errore riportato nella pagina:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': Sintassi non valida. ' in C:\WEB\lancio.php:3 Stack trace: #0 C:\WEB\lancio.php(3): com->com('word.applicatio...') #1 {main} thrown in C:\WEB\lancio.php on line 3

L'errore ora è realmente nella riga 3

andrea

risposto 10 anni fa
andrea603
X 0 X

Tanto per essere sicuri, com.allow_dcom è impostato on?

Anche se dice errore di sintassi mi sembra corretta, prima di quelle righe nn c'è nulla?

risposto 10 anni fa
LonelyWolf
X 0 X

Non c'è proprio nulla... e queste sono le impostazioni della sezione COM del php.ini

[COM]

; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs

;com.typelib_file =

; allow Distributed-COM calls

;com.allow_dcom = true

; autoregister constants of a components typlib on com_load()

;com.autoregister_typelib = true

; register constants casesensitive

;com.autoregister_casesensitive = false

; show warnings on duplicate constat registrations

;com.autoregister_verbose = true

risposto 10 anni fa
andrea603
X 0 X

;com.allow_dcom = true

Togli il punto e virgola e riavvia apache, oppure impostalo a true in runtime.

Potrebbe essere quello, è l'opzione che dice a php di abilitare la classe o meno.

risposto 10 anni fa
LonelyWolf
X 0 X

già fatto, me ne ero accorto un attimo prima di spedire il messaggio...

non cambia nulla!

risposto 10 anni fa
andrea603
X 0 X

Mi spiace ma oltre non posso andare, non conosco la classe e mi son olimitato ai concetti di base!

risposto 10 anni fa
LonelyWolf
X 0 X

comunque grazie dell'aiuto.... spero un giorno di riuscire anch'io ad aiutare...

andrea

risposto 10 anni fa
andrea603
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda