Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Quello che voglio fare è semplice: L'utente ha un campo di testo dove inserire una query che viene salvata in $query. Questa viene passata ad un programma che la usa per ricavare un URL. Quindi in teoria $output dovrebbe contenere l'URL generato tramite shell_exec().
Il problema è che non mi funziona qualcosa. Il programma "youp" stampa un messaggio di errore mentre se lo eseguo da una normale shell unix funziona correttamente. Quindi ho pensato che $query non contenesse il testo giusto. Però se sostituisco "youp" con "echo" viene stampato proprio quello che dovrebbe essere stampato. In pratica non dovrebbe andare in errore... Non mi sono spiegato bene eh?
Non capisco cosa ci sia di sbagliato nel codice! Forse shell_exec() esegue il comando passato con certe limitazioni? Perchè restituisce un valore diverso da quello che ho con una shell unix?
CIOE' il problema è questo: perchè se eseguo "youp qualcosa" su una shell di sistema funziona mentre se provo in PHP shell_exec("youp qualcosa") non funzia??
ma se fossi in tè per testare proverei prima a passare un semplice argomento al programma manualmente per testarlo se funziona, e dopo eseguirlo tramite shell.
di norma io utilizzo
Codice sorgente - presumibilmente Plain Text
echo exec('programma.exe parametro');
poi dipende da chi è come e stato scritto quel programma
e come sia impostato per ricevere gli argomenti.
Grazie per la risposta. Manualmente funziona, come avevo cercato di spiegare. E' evidente che il problema risiede allora in "youp". Il problema è che mi sfugge cosa ci sia di sbagliato se manualmente, da shell, youp funziona. In PHP no.