-a |
--interactive |
Esegue il PHP in modo interattivo. Per maggiori informazioni, vedere la sezione Shell interattiva
.
|
-b |
--bindpath |
Percorso per collegamento esterno alla modalità Server FASTCGI (solo
CGI).
|
-C |
--no-chdir |
Non eseguire chdir nella cartella dello script (solo CGI).
|
-q |
--no-header |
Modo silenzioso. Sopprime l'emissione delle intestazioni HTTP
(solo CGI).
|
-T |
--timing |
Misura il tempo di esecuzione dello script ripetutocount
volte (solo CGI).
|
-c |
--php-ini |
Con questa opzione si può sia specificare la directory in cui cercare
il php.ini o si può specificare un file INI personalizzato
(che non deve necessariamente chiamarsi php.ini), ad esempio:
Se non si specifica questa opzione, il file viene ricercato nelle
directory di default.
|
-n |
--no-php-ini |
Ignora del tutto il php.ini.
|
-d |
--define |
Questa opzione permette di impostare valori personalizzati per qualsiasi
delle direttive di configurazione previste in php.ini. La sintassi è:
-d configuration_directive[=value]
# Omettendo il valore si imposta la direttiva data a "1"
$ php -d max_execution_time
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# Passando un valore vuoto si imposta la direttiva a ""
php -d max_execution_time=
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# La direttiva di configurazione viene impostata a qualsiasi valore passato dopo il carattere '='
$ php -d max_execution_time=20
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$ php
-d max_execution_time=doesntmakesense
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"
|
-e |
--profile-info |
Genera informazioni estese per il
debugger/profiler.
|
-f |
--file |
Analizza ed esegue il file passato con l'opzione -f.
Questo parametro è opzionale e può essere omesso. Basta fornire il
nome del file da eseguire.
Nota:
Al fine di passare argomenti ad uno script, il primo argomento deve essere
-- , altrimenti PHP li interpreterà come opzioni
del PHP.
|
-h e -? |
--help e --usage |
Con questa opzione si ha l'elenco dei comandi di linea
ed una breve descrizione di questi.
|
-i |
--info |
Questa opzione della linea di comando richiama la funzione phpinfo(), e ne
visualizza il risultato. Se il PHP non funziona correttamente, è opportuno
utilizzare php -i per verificare se sono visualizzati messaggi di errore
prima o al posto della tabella con le informazioni.
Fare attenzione quando si usa la modalità CGI, l'output è in formato HTML e quindi abbastanza
abbondante.
|
-l |
--syntax-check |
Questa opzione fornisce un metodo pratico per eseguire un controllo sintattico
di un dato codice PHP. Se il controllo ha successo, verrà visualizzato il testo
No syntax errors detected in <filename>
e alla shell sarà restituito il codice
0 . Se si rilevano errori si avrà il testo Errors parsing
<filename> , inoltre si avranno anche i messaggi di errore del parser
ed alla shell sarà restituito il codice
-1 .
Questa opzione non rileva errori fatali (tipo funzioni non definite). Occorre
utilizzare l'opzione -f se si desidera rilevare gli errori fatali.
Nota:
Questa opzione non è abbinabile all'opzione
-r.
|
-m |
--modules |
Example #1 Visualizzazione dei moduli PHP e di Zend integrati (e quindi caricati):
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
|
-r |
--run |
Questa opzione permette l'esecuzione di codice PHP direttamente da linea di comando.
I tag PHP di apertura e di chiusura (<?php e
?> ) non sono
necessari anzi, se presenti, causano un errore del parser.
Nota:
Quando si utilizza questo metodo occorre prestare attenzione ad evitare
collisioni con la sostituzione delle varibili eseguita dalla shell
sulla linea di comando.
Example #2 errore di sintassi con l'utilizzo dei doppi apici
$ php -r "$foo = get_defined_constants();"
PHP Parse error: syntax error, unexpected '=' in Command line code on line 1
Parse error: syntax error, unexpected '=' in Command line code on line 1
In questo caso il problema è dovuto alla sostituzione della variabile
eseguita da sh/bash anche quando si usano i doppi apici " .
Poiché la variabile $foo non è definita, essa
verrà espansa con 'niente' generando il seguente codice
PHP:
Il metodo corretto richiede l'uso dell'apice singolo ' .
Le variabili racchiuse in stringhe delimite dall'apice singolo non
vengono espanse da sh/bash.
Example #3 Utilizzo degli apici singoli per impedire la sostituzione delle variabili
nella shell
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
["E_ERROR"]=>
int(1)
["E_WARNING"]=>
int(2)
["E_PARSE"]=>
int(4)
["E_NOTICE"]=>
int(8)
["E_CORE_ERROR"]=>
[...]
Se si utilizzano shell differenti rispetto a sh/bash, si potrebbe incorrere
in altri problemi. In tal caso aprite una segnalazione di errore a
» https://github.com/php/php-src/issues.
Si può facilmente incorrere in problemi utilizzando variabili
(shell o PHP) nel codice command-line, o utilizzando le barre rovesciate (backslash) per
l'escape, quindi occorre essere molto prudenti. Siete avvertiti.
Nota:
L'opzione -r è disponibile nella CLI SAPI ma non
nella CGI SAPI.
Nota:
Questa opzione è prevista solo per codice molto semplice, quindi alcune
direttive di configurazione (come auto_prepend_file e auto_append_file) sono ignorate
in questa modalità.
|
-B |
--process-begin |
Codice PHP da eseguire prima di processare stdin.
|
-R |
--process-code |
Esegue il codice PHP per ogni linea di input.
In questa modalità si hanno due variabili speciali:
$argn ed $argi.
$argn contiene la linea PHP in elaborazione al momento,
mentre $argi contiene il numero
di linea.
|
-F |
--process-file |
Esegue il file PHP per ogni linea di input.
|
-E |
--process-end |
Codice PHP da eseguirsi dopo il processamento dell'input.
Example #4 Utilizzo delle opzioni -B, -R e
-E per contare il numero di linea di un
progetto.
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328
|
-S |
--server |
Avvia il web server
interno.
|
-t |
--docroot |
Specifica la document root per il web server interno.
|
-s |
--syntax-highlight e --syntax-highlighting |
Visualizza il sorgente con sintassi colorata.
Questa opzione utilizza il meccanismo interno di parsing dei file e produce
una versione HTML evidenziata del sorgente dirigendola verso lo
standard output. Occorre notare che questa funzione genera dei blocchi di tag HTML
<code> [...] </code>
e non le intestazioni HTML.
Nota:
Questa opzione non funziona abbinata all'opzione
-r.
|
-v |
--version |
Example #5 Utilizzo di -v per recuperare il nome SAPI
e la versione di PHP e Zend
$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
|
-w |
--strip |
Visualizza il sorgente senza gli spazi e i commenti.
Nota:
Questa opzione non funziona abbinata all'opzione
-r.
|
-z |
--zend-extension |
Carica l'estensione Zend. Soltano se si fornisce un nome di file, il PHP tenta
di caricare l'estensione dal corrente percorso di default delle librerie
(solitamente, sui sistemi Linux, /etc/ld.so.conf).
Se si fornisce un nome di file con percorso assoluto, ls libreria non
sarà cercata nella directory di default. Un nome di file con percorso relativo
indica al PHP di tentare di caricare l'estensione con
percorso relativo alla directory corrente.
|
|
--ini |
Visualizza i nomi dei file di configurazione e le cartelle scansionate.
Example #6 Esempio di uso di --ini
$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File: /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
|
--rf |
--rfunction |
Visualizza le informazioni della funzione o metodo di classe indicato (es.
numero e nome dei parametri).
Questa opzione è disponibile solo se PH è stato compilato con il supporto alla
Reflection.
Example #7 semplice utilizzo di --rf
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
--rc |
--rclass |
Visualizza le informazioni della classe indicata (lista delle costanti, proprietà
e metodi).
Questa opzione è disponibile solo se PH è stato compilato con il supporto alla
Reflection.
Example #8 Esempio di --rc
$ php --rc Directory
Class [ <internal:standard> class Directory ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [3] {
Method [ <internal> public method close ] {
}
Method [ <internal> public method rewind ] {
}
Method [ <internal> public method read ] {
}
}
}
|
--re |
--rextension |
Visualizza le informazioni dell'estensione indicata (elenco delle opzioni php.ini,
funzioni, costanti and classi definite).
Questa opzione è disponibile solo se PH è stato compilato con il supporto alla
Reflection.
Example #9 Esempio di --re
$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {
- Functions {
Function [ <internal> function json_encode ] {
}
Function [ <internal> function json_decode ] {
}
}
}
|
--rz |
--rzendextension |
Visualizza le informazioni di configurazione per l'estensione Zend indicata (le
stesse informazioni che sono fornite da phpinfo()).
|
--ri |
--rextinfo |
Visualizza le informazioni di configurazione per l'estensione indicata (le
stesse informazioni che sono fornite da phpinfo()).
Le informazioni di configurazione del sistema di base
sono disponibili usando "main" come nome d'estensione.
Example #10 --ri example
$ php --ri date
date
date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo
Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333
|