Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
php(1)			      Scripting	Language			php(1)

       php - PHP Command Line Interface	'CLI'

       php-cgi - PHP Common Gateway Interface 'CGI' command

       php [options] [ -f ] file [[--] args...]

       php [options] -r	code [[--] args...]

       php [options] [-B begin_code] -R	code [-E end_code] [[--] args...]

       php [options] [-B begin_code] -F	file [-E end_code] [[--] args...]

       php [options] --	[ args...]

       php [options] -a

       php [options] -S	addr:port [-t docroot]

       PHP  is	a widely-used general-purpose scripting	language that is espe-
       cially suited for Web development and can be embedded into  HTML.  This
       is the command line interface that enables you to do the	following:

       You  can	 parse and execute files by using parameter -f followed	by the
       name of the file	to be executed.

       Using parameter -r you can directly execute  PHP	 code  simply  as  you
       would do	inside a .php file when	using the eval() function.

       It  is  also  possible to process the standard input line by line using
       either the parameter -R or -F. In this mode each	 separate  input  line
       causes  the code	specified by -R	or the file specified by -F to be exe-
       cuted.  You can access the input	line by	$argn.	While  processing  the
       input  lines  $argi  contains  the number of the	actual line being pro-
       cessed. Further more the	parameters -B and -E can be  used  to  execute
       code  (see -r) before and after all input lines have been processed re-
       spectively. Notice that the input is  read  from	 STDIN	and  therefore
       reading	from STDIN explicitly changes the next input line or skips in-
       put lines.

       PHP also	contains an built-in web server	 for  application  development
       purpose.	 By  using  the	-S option where	addr:port point	to a local ad-
       dress and port PHP will listen to HTTP requests	on  that  address  and
       port  and serve files from the current working directory	or the docroot
       passed by the -t	option.

       If none of -r -f	-B -R -F -E or -S is present but a single parameter is
       given then this parameter is taken as the filename to parse and execute
       (same as	with -f). If no	parameter is present then the  standard	 input
       is read and executed.

       -a	      Run  PHP	interactively. This lets you enter snippets of
		      PHP code that directly get executed. When	readline  sup-
		      port  is	enabled	 you  can edit the lines and also have
		      history support.

       --bindpath address:port|port
       -b address:port|port
		      Bind Path	for external FASTCGI Server mode (CGI only).

       -C	      Do not chdir to the script's directory (CGI only).

       -q	      Quiet-mode. Suppress HTTP	header output (CGI only).

       --timing	count
       -T count	      Measure execution	time of	script	repeated  count	 times
		      (CGI only).

       --php-ini path|file
       -c path|file   Look  for	 php.ini file in the directory path or use the
		      specified	file

       -n	      No php.ini file will be used

       --define	foo[=bar]
       -d foo[=bar]   Define INI entry foo with	value bar

       -e	      Generate extended	information for	debugger/profiler

       --file file
       -f file	      Parse and	execute	file

       -h	      This help

       -H	      Hide script name (file) and  parameters  (args...)  from
		      external	tools.	For  example  you may want to use this
		      when a php script	is started as a	daemon and the command
		      line contains sensitive data such	as passwords.

       -i	      PHP information and configuration

       -l	      Syntax check only	(lint)

       -m	      Show compiled in modules

       --run code
       -r code	      Run PHP code without using script	tags '<?..?>'

       --process-begin code
       -B begin_code  Run PHP begin_code before	processing input lines

       --process-code code
       -R code	      Run PHP code for every input line

       --process-file file
       -F file	      Parse and	execute	file for every input line

       --process-end code
       -E end_code    Run PHP end_code after processing	all input lines

       -s	      Output HTML syntax highlighted source

       --server	addr:port
       -S addr:port   Start built-in web server	on the given local address and

       --docroot docroot
       -t docroot     Specify the document root	to be used by the built-in web

       -v	      Version number

       -w	      Output source with stripped comments and whitespace

       --zend-extension	file
       -z file	      Load Zend	extension file

       args...	      Arguments	passed to script. Use '--' args	when first ar-
		      gument starts with '-' or	script is read from stdin

       --rfunction    name
       --rf	      name Shows information about function name

       --rclass	      name
       --rc	      name Shows information about class name

       --rextension   name
       --re	      name Shows information about extension name

       --rz	      name Shows information about Zend	extension name

       --rextinfo     name
       --ri	      name Shows configuration for extension name

       --ini	      Show configuration file names

       php-cli.ini    The configuration	file for the CLI version of PHP.

       php.ini	      The standard configuration file will only	be  used  when
		      php-cli.ini cannot be found.

       php -r 'echo "Hello World\n";'
	    This command simply	writes the text	"Hello World" to standard out.

       php -r 'print_r(gd_info());'
	    This  shows	 the  configuration  of	your gd	extension. You can use
	    this to easily check which image formats you can use. If you  have
	    any	dynamic	modules	you may	want to	use the	same ini file that php
	    uses when executed from your webserver. There are more  extensions
	    which have such a function.	For dba	use:
	    php	-r 'print_r(dba_handlers(1));'

       php -R 'echo strip_tags($argn)."\n";'
	    This PHP command strips off	the HTML tags line by line and outputs
	    the	result.	To see how it works you	can first look at the  follow-
	    ing	PHP command 'php -d html_errors=1 -i' which uses PHP to	output
	    HTML formatted configuration  information.	If  you	 then  combine
	    those two 'php ...|php ...'	you'll see what	happens.

       php -E 'echo "Lines: $argi\n";'
	    Using this PHP command you can count the lines being input.

       php -R '@$l+=count(file($argn));' -E 'echo "Lines:$l\n";'
	    In	this  example  PHP  expects  each  input line being a file. It
	    counts all lines of	the files specified by	each  input  line  and
	    shows the summarized result.  You may combine this with tools like
	    find and change the	php scriptlet.

       php -R 'echo "$argn\n"; fgets(STDIN);'
	    Since you have access to STDIN from	within -B -R -F	and -E you can
	    skip  certain  input  lines	 with your code. But note that in such
	    cases $argi	only counts the	lines being processed by  php  itself.
	    Having read	this you will guess what the above program does: skip-
	    ping every second input line.

       You can use a shebang line to automatically invoke  php	from  scripts.
       Only  the CLI version of	PHP will ignore	such a first line as shown be-

	       // your script

       For a more or less complete description of PHP look here:

       You can view the	list of	known bugs or report any new bug you found at:

       The PHP Group: Thies C. Arntzen,	Stig Bakken, Andi Gutmans, Rasmus Ler-
       dorf,  Sam  Ruby,  Sascha  Schumann, Zeev Suraski, Jim Winstead,	Andrei

       Additional work for the CLI sapi	was done by  Edin  Kadribasic,	Marcus
       Boerger and Johannes Schlueter.

       A List of active	developers can be found	here:

       And last	but not	least PHP was developed	with the help of a huge	amount
       of contributors all around the world.

       This manpage describes php, version 8.0.11.

       Copyright (C) The PHP Group

       This source file	is subject to version 3.01 of the PHP license, that is
       bundled with this package in the	file LICENSE, and is available through
       the world-wide-web at the following url:

       If you did not receive a	copy of	the PHP	license	and are	unable to  ob-
       tain  it	 through  the  world-wide-web,	please	send  a	 note  to  li- so	we can mail you	a copy immediately.

The PHP	Group			     2021				php(1)


Want to link to this manual page? Use this URL:

home | help