PHP from the Command Line
The command-line interface (CLI) was first introduced in PHP 4.3 (Dec. 2002) as its default Server API (SAPI). Earlier it was CGI.
The PHP command-line option -v (version) will reveal whether your Server API is a CLI binary or some other in your current installation
php -v
In this tutorial, we look at the various ways to run PHP scripts from the command-line. We start with our simple 'Hello, World!' PHP program
<?php
echo 'Hello, World!';
?>
Save it as hello.php. This file can be executed from the terminal by running the command
php hello.php
We can also use the -f option (file) as follows
php -f hello.php
Shell Script
To execute the above 'Hello, World!' PHP code as a shell script, add the following shebang interpreter directive to the file as its first line of script (the path could be different for different operating systems; type which php to confirm)
#!/usr/bin/php
<?php
echo 'Hello, World!';
?>
Save it. Next, we type a command in the terminal to mark hello.php as executable
chmod u+x hello.php
The script file can now be executed from the terminal by running the command
./hello.php
PHP Interactive Mode/Shell
We first get the list of available PHP command line options along with their brief single-line descriptions by executing the command
php -h
The output on the terminal looks something like this
We note that the option -a starts either the PHP interactive mode/shell. We run the command
php -a
and test a simple PHP statement echo "Hello, World!";
Though it shows that it has started the interactive mode (not the interactive shell), for higher versions of PHP 5 (mine is v. 5.5.9), it actually is an interactive shell (or at least behaves like one). For if it is an interactive mode, enclosing PHP codes within the delimiters <?php and ?> would have been a prerequisite, followed by pressing Ctrl + D thereafter for parsing. It can also be verified by typing php -m, and you will find the readline module already listed. In an interactive shell, starting a PHP script with <php? actually throws you an error
Facebook's PHP Interactive Shell
Back in 2006, Facebook also released an interactive shell for PHP called phpsh. It can be installed following the commands below
sudo git clone https://github.com/facebook/phpsh
cd phpsh
sudo python setup.py install
The interactive shell can be launched by typing the command
phpsh
It will appear as below
Notes
-
The
phpinfo()function gives a heap of detailed information about your current installed PHP like version, file locations, configuration, predefined variables, environment, HTTP headers, etc. We can obtain the same using the option-iphp -i