Oltre alla procedura basata sulla digitazione dell'argomento -q descritta nel precedente articolo, abbiamo a disposizione un'opzione più avanzata e simile al Perl per l'esecuzione di istruzioni PHP tramite Shell Scripting.
Innanzitutto sarà necessario localizzare il percorso all'eseguibile PHP interno al nostro sistema. Per far questo, sfrutteremo il semplice comando da Shell chiamato which a cui passeremo come argomento l'oggetto della nostra ricerca, cioè PHP.
$ which phpSulla Fedora (su cui stiamo lavorando per la creazione di questa miniguida) il percorso all'eseguibile è:
/usr/bin/phpOra, per rendere uno script eseguibile tramite CLI sarà sufficiente intestare il listato in questo modo:
#!/usr/bin/php -qVerrà così automaticamente rimosso l'header HTTP e il comportamento previsto dal codice potrà essere eseguito semplicemente richiamando da Shell la pagina che lo contiene.
#!/usr/bin/php -q <? //variabile per il ciclo $numero=10; //istruzione do{ echo ("Tocca al n°:" .$numero++. "\n"); //condizione } while ($numero<20); ?>Ora potremo salvare il codice all'interno di un file chiamato, ad esempio, do_while.php, per eseguirlo sarà sufficiente richiamare il documento salvato da linea di comando:
$ ./do_while.phpRiceveremo così come output l'iterazione determinata dal ciclo digitato nel codice dello script:
Tocca al n°:10 Tocca al n°:11 Tocca al n°:12 Tocca al n°:13 Tocca al n°:14 Tocca al n°:15 Tocca al n°:16 Tocca al n°:17 Tocca al n°:18 Tocca al n°:19Naturalmente, per rendere eseguibile il nostro file si dovrà prima impostare su di esso i relativi permessi di esecuzione; per far questo utilizzeremo il comando da Shell denominato chmod (change mode) a cui passeremo come argomenti l'opzione x (execute) e il nome del file contenete il codice che desideriamo eseguire. Quindi, nel nostro caso dovremo digitare la seguente istruzione:
$ chmod +x do_while.phpAttenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.