23/04/10 19:48
TheWorm
Ciao, sto provando questo semplice codice PHP:
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??
Il problema è il codice PHP o il programma youp?
Grazie
<?php $output = "No results found."; if ($_GET['q']) { $query = $_GET['q']; $output = shell_exec("youp $query"); } ?> <form> <input type="text" name="q"> <input type="submit" value="Search!"> </form> <?php echo $output; ?>
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??
Il problema è il codice PHP o il programma youp?
Grazie
aaa