man pages section 1: User Commands

Exit Print View

Updated: July 2014

php (1)


php - PHP Command Line Interface 'CLI'


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

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

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

php [options] [-B code] -F file [-E code] [[--] args...]

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

php [options] -a


Scripting Language                                         PHP(1)

     php - PHP Command Line Interface 'CLI'

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

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

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

     php [options] [-B code] -F file [-E code] [[--] args...]

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

     php [options] -a

     PHP is a widely-used general-purpose scripting language that
     is especially 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  fol-
     lowed 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()

     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 executed.   You  can  access  the
     input  line by $argn. While processing the input lines $argi
     contains the number of the actual line being processed. Fur-
     ther  more  the  parameters -B and -E can be used to execute
     code (see -r) before and after all  input  lines  have  been
     processed  respectively.  Notice that the input is read from
     STDIN and therefore reading from  STDIN  explicitly  changes
     the next input line or skips input lines.

     If  none  of  -r  -f  -B -R -F or -E is present but a single
     parameter is given then this parameter is taken as the file-
     name 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 exe-
                    cuted. When readline support is  enabled  you
                    can  edit  the  lines  and  also have history

The PHP Group           Last change: 2013                       1

Scripting Language                                         PHP(1)


     --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

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

     --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  debug-

     --file file
     -f file        Parse and execute file

     --global name
     -g name        Make variable name global in script.

     -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 con-
                    tains sensitive data such as passwords.

     -i             PHP information and configuration


The PHP Group           Last change: 2013                       2

Scripting Language                                         PHP(1)

     -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 code        Run PHP 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 code        Run PHP code after processing all input lines

     -s             Output HTML syntax highlighted source

     -v             Version number

     -w             Output  source  with  stripped  comments  and

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

     args...        Arguments  passed  to  script.  Use '--' args
                    when first argument 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

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

     --ini          Show configuration file names

The PHP Group           Last change: 2013                       3

Scripting Language                                         PHP(1)

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

     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  following  PHP  command  'php  -d
          html_errors=1 -i' which uses PHP to output HTML format-
          ted  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

     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: skipping 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 below:

The PHP Group           Last change: 2013                       4

Scripting Language                                         PHP(1)

           // your script

     See  attributes(5)  for  descriptions   of   the   following

     |Availability   | web/php-53       |
     |Stability      | Uncommitted      |
     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 Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim
     Winstead, Andrei Zmievski.

     Additional work for the CLI sapi was done by  Edin  Kadriba-
     sic, 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 5.3.28.

     Copyright (C) 1997-2013 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:

The PHP Group           Last change: 2013                       5

Scripting Language                                         PHP(1)

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

     This  software  was   built   from   source   available   at    The  original
     community       source       was       downloaded       from

     Further  information about this software can be found on the
     open source community website at

The PHP Group           Last change: 2013                       6