Avviare eseguibili con PHP

Ciao.

Come da oggetto volevo chiedere come si possono avviare eseguibili da php.

Come premessa sto usando PHP 5.0, Apache2, MySQL 4.1 su una WorkStation con Windows 2000 Professional.

Con questo codice

system("net send ".$CL017F9494." ".$_REQUEST['abstract']);

riesco a mandare un popup al computer chiamato CL017F9494 con scritto il contenuto della textarea con name=abstract.

Lo script funziona perfettamente.

Ma se voglio avviare un'altra applicazione con la stessa sintassi purtroppo non funziona.

Lavorando con il sistema di sessioni EXTRA! di Attachmate che si collegano ad host 3270 di IBM, ho realizzato delle macro in ExtraBasic. Queste macro possono essere avviate anche andando su "START->ESEGUI" dove scrivo ebrun prova.ebm e la macro parte e fa tutto quello che deve fare. Ebrun.exe è un programmino di Attachmate che serve per avviare le macro.

Con php non riesco ad avviare questo programma, ho scritto

system("ebrun prova.ebm");

ma nulla da fare ...

Eppure Ebrun, come il net send, è nel PATH di sistema, perchè non riesco ad avviarlo?

In realtà in parte sono riuscito a risolvere ma è quasi improponibile come soluzione.

Nell'action del method gli passo un file .bat con scritto semplicemente ebrun prova.ebm e funziona, ma è brutto perchè innanzitutto apre la classica finestrella di avvertimento che il file potrebbe danneggiare il computer e quindi da la scelta se aprire o  salvare il file, inoltre anche se si clicca su apri compare la fastiodiosa finestrella del dos (richiamata dal .bat) che rimane fino alla fine dell'esecuzione della macro.

C'è il modo di richiamare direttamente da php?

inviato 10 anni fa
stone
modificato 10 anni fa
X 0 X

Le cause possono essere diverse.

Per prima cosa ti consiglio di specificare tutti i percorsi assoluti. Se i percorsi hanno degli spazi usa i doppi apici

es.:

exec('"c:\program files\programma\eseguibile.exe" -opzioni');

inoltre prova ad andare nel pannello di controllo -> strumenti di amministrazione -> servizi

da lì, vai alle proprietà del servizio Apache2, tab "connessione" ed abilita l'opzione "consenti al servizio di interagire col desktop"

Poi ferma e riavvia Apache

Fammi sapere  :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grande Gianni!

Si, così funziona senza passare per il .bat

Peccato solo una cosa  ::) quella finestrella del dos che si apre durante l'esecuzione della macro per poi chiudersi automaticamente una volta che la macro ha finito...

Per il resto va, piano piano ce la dovrei fare a far integire il web con l'Host ...

Grazie!!!!!!!!!!

 :bye:

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