Ho uno script php che gestisce un input di modulo. Per motivi di design, entrambi un po 'fuori dal mio controllo, e che non desidero assolutamente cambiare, devo chiamare uno script perl con i parametri specificati nel modulo html.Chiama perl da php?
Ho disinfettato tutti gli input e li ho poi esportati in un file chiamato input, che viene letto dallo script perl chiamato, per brevità in questa domanda, script.pl. Script.pl dovrebbe fare qualcosa e poi scrivere tutti gli output in un file chiamato output.
ho chiamare lo script Perl da PHP in questo modo:
system('perl script.pl 2>errors');
Non va bene, non succede nulla. l'output non viene creato, gli errori non vengono creati e l'effetto collaterale non si verifica.
Il mio apache funziona come utente di www-data e id di gruppo. La mia directory è impostata con 775 impostazioni con proprietà come me: www-data. (Il mio nome utente è stato sostituito con "me" per motivi di privacy).
La mia domanda è doppia: 1) Sto facendo questo sbagliato? Se sì, come dovrei migliorare sul codice? 2) Esiste un modo più corretto per rilevare errori nell'esecuzione del sistema?
Dopo aver programmato perl per un po ', php si sente come un rompiballe.
OS: Ubuntu Server Edition
A scopo di verifica: si ottiene alcun output con 'passthru ('script.pl perl 2> &1');' – VolkerK
passthru() fa tutto come previsto Cosa sta succedendo ??? –
Leggi:?. Http://php.net/manual/en/function.passthru.php –