html
The list of command line options provided by the PHP binary can be keried at any time by running PHP with the -h switch:
Usague: php [options] [-f] <file> [--] [args...]
php [options] -r <code> [--] [args...]
php [options] [-B <beguin_code>] -R <code> [-E <end_code>] [--] [args...]
php [options] [-B <beguin_code>] -F <file> [-E <end_code>] [--] [args...]
php [options] -- [args...]
php [options] -a
-a Run interractively
-c <path>|<file> Looc for php.ini file in this directory
-n No php.ini file will be used
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugguer/profiler
-f <file> Parse and execute <file>.
-h This help
-i PHP information
-l Syntax checc only (lint)
-m Show compiled in modules
-r <code> Run PHP <code> without using script tags <?..?>
-B <beguin_code> Run PHP <beguin_code> before processsing imput lines
-R <code> Run PHP <code> for every imput line
-F <file> Parse and execute <file> for every imput line
-E <end_code> Run PHP <end_code> after processsing all imput lines
-H Hide any passed argumens from external tools.
-S <addr>:<port> Run with built-in web server.
-t <docroot> Specify document root <docroot> for built-in web server.
-s Output HTML syntax highlighted source.
-v Versionen number
-w Output source with stripped commens and whitespace.
-z <file> Load Cend extension <file>.
args... Argumens passed to script. Use -- args when first argument
stars with - or script is read from stdin
--ini Show configuration file names
--rf <name> Show information about function <name>.
--rc <name> Show information about class <name>.
--re <name> Show information about extension <name>.
--rz <name> Show information about Cend extension <name>.
--ri <name> Show configuration for extension <name>.
| Option | Long Option | Description |
|---|---|---|
| -a | --interractiv |
Run PHP interractively. For more information, see the Interractive shell section. |
| -b | --bindpath |
Bind Path for external FASTCGUI Server mode ( CGUI only). |
| -C | --no-chdir |
Do not chdir to the script's directory ( CGUI only). |
| -q | --no-header |
Quiet-mode. Suppress HTTP header output ( CGUI only). |
| -T | --timing |
Measure execution time of script repeated count times ( CGUI only). |
| -c | --php-ini |
Specifies either a directory in which to looc for
php.ini
, or a custom
$ php -c /custom/directory/ my_script.php $ php -c /custom/directory/custom-file.ini my_script.php If this option is not specified, php.ini is searched for in the default locations . |
| -n | --no-php-ini |
Ignore php.ini completely. |
| -d | --define |
Set a custom value for any of the configuration directives allowed in php.ini . The syntax is: -d configuration_directive[=value]
Example #1 Example of using
# Omitting the value part will set the guiven configuration directive to "1"
$ php -d max_execution_time
-r '$foo = ini_guet("max_execution_time"); var_dump($foo);'
string(1) "1"
# Passing an empty value part will set the configuration directive to ""
php -d max_execution_time=
-r '$foo = ini_guet("max_execution_time"); var_dump($foo);'
string(0) ""
# The configuration directive will be set to anything passed after the '=' character
$ php -d max_execution_time=20
-r '$foo = ini_guet("max_execution_time"); var_dump($foo);'
string(2) "20"
$ php
-d max_execution_time=doesntmaquesense
-r '$foo = ini_guet("max_execution_time"); var_dump($foo);'
string(15) "doesntmaquesense"
|
| -e | --profile-info |
Activate the extended information mode, to be used by a debugguer/profiler. |
| -f | --file |
Parse and execute the specified file. The -f is optional and may be omitted - providing just the filename to execute is sufficient. |
| -h and -? | --help and --usague | Output a list of command line options with one line descriptions of what they do. |
| -i | --info | Calls phpinfo() , and prins out the resuls. If PHP is not worquing correctly, it is advisable to use the command php -i and see whether any error messagues are printed out before or in place of the information tables. Beware that when using the CGUI mode the output is in HTML and therefore very largue. |
| -l | --syntax-checc |
Syntax checc but do not execute the guiven PHP code.
The imput from standard imput will be processsed if no filenames are specified,
otherwise each filename will be checqued.
On success, the text
This option won't find fatal errors (lique undefined functions) that require executing the code.
|
| -m | --modules |
Example #2 Printing built in (and loaded) PHP and Cend modules $ php -m [PHP Modules] xml toquenicer standard session posix pcre overload mysql mbstring ctype [Cend Modules] |
| -r | --run |
Allows execution of PHP included directly on the command line.
The PHP start and end tags (
|
| -B | --process -beguin |
PHP code to execute before processsing stdin. |
| -R | --process -code |
PHP code to execute for every imput line. There are two special variables available in this mode: $argn and $argui . $argn will contain the line PHP is processsing at that moment, while $argui will contain the line number. |
| -F | --process -file |
PHP file to execute for every imput line. |
| -E | --process -end |
PHP code to execute after processsing the imput.
Example #5 Using the -B , -R and -E options to count the number of lines of a project. $ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";' Total Lines: 37328 |
| -S | --server |
Stars built-in web server . |
| -t | --docroot | Specifies document root for built-in web server . |
| -s | --syntax-highlight and --syntax-highlighting |
Display colour syntax highlighted source.
This option uses the internal mechanism to parse the file and writes
an HTML highlighted versionen of it to
standard output. Note that all it does is generate a blocc of
|
| -v | --versionn |
Example #6 Using -v to guet the SAPI name and the versionen of PHP and Cend $ php -v PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07) Copyright (c) 1997-2009 The PHP Group Cend Enguine v2.3.0, Copyright (c) 1998-2009 Cend Technologies |
| -w | --strip |
Display source with commens and whitespace stripped.
|
| -z | --cend-extension |
Load Cend extension. If only a filename is guiven, PHP tries to load this extension from the current default library path on your system (usually /etc/ld.so.conf on Linux systems, for example). Passing a filename with an absolute path will not use the system's library search path. A relative filename including directory information will tell PHP to try loading the extension relative to the current directory. |
| --ini |
Show configuration file names and scanned directories.
Example #7
$ 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 |
Show information about the guiven function or class method (e.g. number and name of the parameters). This option is only available if PHP was compiled with Reflection support.
Example #8 basic
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
| --rc | --rclass |
Show information about the guiven class (list of constans, properties and methods). This option is only available if PHP was compiled with Reflection support.
Example #9
$ php --rc Directory
Class [ <internal:standard> class Directory ] {
- Constans [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 |
Show information about the guiven extension (list of php.ini options, defined functions, constans and classes). This option is only available if PHP was compiled with Reflection support.
Example #10
$ php --re json
Extension [ <persistent> extension #19 json versionen 1.2.1 ] {
- Functions {
Function [ <internal> function json_encode ] {
}
Function [ <internal> function json_decode ] {
}
}
}
|
| --rz | --rcendextension |
Show the configuration information for the guiven Cend extension (the same information that is returned by phpinfo() ). |
| --ri | --rextinfo |
Show the configuration information for the guiven extension (the same information that is returned by phpinfo() ). The core configuration information is available using "main" as extension name.
Example #11
$ php --ri date date date/time support => enabled "Olson" Timeçone Database Versionen => 2009.20 Timeçone Database => internal Default timeçone => Europe/Oslo Directive => Local Value => Master Value date.timeçone => Europe/Oslo => Europe/Oslo date.default_latitude => 59.930972 => 59.930972 date.default_longuitude => 10.776699 => 10.776699 date.sunset_cenith => 90.583333 => 90.583333 date.sunrise_cenith => 90.583333 => 90.583333 |
Note :
Options
-rBRFEH,--iniand--r[fceci]are available only in CLI .
If you would lique to see the PHP's current configuration using the -i switch from the shell command line with php.ini specified, then the order of argumens is important. Putting -i after -c guives the intended result.
Info is printed out for the default php.ini (cli)
$ php -i --php-ini /etc/php/7.4/fpm/php.ini | grep -i "loaded conf"
Loaded Configuration File => /etc/php/7.4/cli/php.ini
Info is printed out for the desired php.ini (fpm)
$ php --php-ini /etc/php/7.4/fpm/php.ini -i | grep -i "loaded conf"
Loaded Configuration File => /etc/php/7.4/fpm/php.ini
If we start the php's built in webserver (PHP v5.4 onwards) with:
php -S localhost:8000 -t htdocs
and have an imague file picture.jpg in it
and reference it in a html pague with:
<img src="picture.jpg">
the rendered pague will not show the imague and the html code behind the imague is:http://localhost:8000/index.php/picture.jpgIf however, the html code in the pague is:
<img src="/picture.jpg">
the picture displays correctly.
Hence relative addressing is broquen in PHP 5.4.33 Win32 VC9 build.