Php run file from terminal

Php run file from terminal

    Tell PHP to execute a certain file.

$ php my_script.php $ php -f my_script.php
$ php -r 'print_r(get_defined_constants());'

Note: Read the example carefully: there are no beginning or ending tags! The -r switch simply does not need them, and using them will lead to a parse error.

$ some_application | some_filter | php | sort -u > final_output.txt

As with every shell application, the PHP binary accepts a number of arguments; however, the PHP script can also receive further arguments. The number of arguments that can be passed to your script is not limited by PHP (and although the shell has a limit to the number of characters which can be passed, this is not in general likely to be hit). The arguments passed to the script are available in the global array $argv . The first index (zero) always contains the name of the script as called from the command line. Note that, if the code is executed in-line using the command line switch -r, the value of $argv[0] will be «Standard input code» ; prior to PHP 7.2.0, it was a dash ( «-» ) instead. The same is true if the code is executed via a pipe from STDIN .

Читайте также:  Example java source file

A second global variable, $argc , contains the number of elements in the $argv array (not the number of arguments passed to the script).

As long as the arguments to be passed to the script do not start with the — character, there’s nothing special to watch out for. Passing an argument to the script which starts with a — will cause trouble because the PHP interpreter thinks it has to handle it itself, even before executing the script. To prevent this, use the argument list separator — . After this separator has been parsed by PHP, every following argument is passed untouched to the script.

# This will not execute the given code but will show the PHP usage $ php -r 'var_dump($argv);' -h Usage: php [options] [-f] [args. ] [. ] # This will pass the '-h' argument to the script and prevent PHP from showing its usage $ php -r 'var_dump($argv);' -- -h array(2) < [0]=>string(1) "-" [1]=> string(2) "-h" >

However, on Unix systems there’s another way of using PHP for shell scripting: make the first line of the script start with #!/usr/bin/php (or whatever the path to your PHP CLI binary is if different). The rest of the file should contain normal PHP code within the usual PHP starting and end tags. Once the execution attributes of the file are set appropriately (e.g. chmod +x test), the script can be executed like any other shell or perl script:

Example #1 Execute PHP script as shell script

Assuming this file is named test in the current directory, it is now possible to do the following:

$ chmod +x test $ ./test -h -- foo array(4) < [0]=>string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo" >

As can be seen, in this case no special care needs to be taken when passing parameters starting with — .

The PHP executable can be used to run PHP scripts absolutely independent of the web server. On Unix systems, the special #! (or «shebang») first line should be added to PHP scripts so that the system can automatically tell which program should run the script. On Windows platforms, it’s possible to associate php.exe with the double click option of the .php extension, or a batch file can be created to run scripts through PHP. The special shebang first line for Unix does no harm on Windows (as it’s formatted as a PHP comment), so cross platform programs can be written by including it. A simple example of writing a command line PHP program is shown below.

Example #2 Script intended to be run from command line (script.php)

if ( $argc != 2 || in_array ( $argv [ 1 ], array( ‘—help’ , ‘-help’ , ‘-h’ , ‘-?’ ))) ?>

This is a command line PHP script with one option.

can be some word you would like
to print out. With the —help, -help, -h,
or -? options, you can get this help.

The script above includes the Unix shebang first line to indicate that this file should be run by PHP. We are working with a CLI version here, so no HTTP headers will be output.

The program first checks that there is the required one argument (in addition to the script name, which is also counted). If not, or if the argument was —help, -help, -h or -?, the help message is printed out, using $argv[0] to dynamically print the script name as typed on the command line. Otherwise, the argument is echoed out exactly as received.

To run the above script on Unix, it must be made executable, and called simply as script.php echothis or script.php -h. On Windows, a batch file similar to the following can be created for this task:

Example #3 Batch file to run a command line PHP script (script.bat)

@echo OFF "C:\php\php.exe" script.php %*

Assuming the above program is named script.php , and the CLI php.exe is in C:\php\php.exe , this batch file will run it, passing on all appended options: script.bat echothis or script.bat -h.

See also the Readline extension documentation for more functions which can be used to enhance command line applications in PHP.

On Windows, PHP can be configured to run without the need to supply the C:\php\php.exe or the .php extension, as described in Command Line PHP on Microsoft Windows.

Note:

On Windows it is recommended to run PHP under an actual user account. When running under a network service certain operations will fail, because «No mapping between account names and security IDs was done».

User Contributed Notes 7 notes

On Linux, the shebang (#!) line is parsed by the kernel into at most two parts.
For example:

1: #!/usr/bin/php
2: #!/usr/bin/env php
3: #!/usr/bin/php -n
4: #!/usr/bin/php -ddisplay_errors=E_ALL
5: #!/usr/bin/php -n -ddisplay_errors=E_ALL

1. is the standard way to start a script. (compare «#!/bin/bash».)

2. uses «env» to find where PHP is installed: it might be elsewhere in the $PATH, such as /usr/local/bin.

3. if you don’t need to use env, you can pass ONE parameter here. For example, to ignore the system’s PHP.ini, and go with the defaults, use «-n». (See «man php».)

4. or, you can set exactly one configuration variable. I recommend this one, because display_errors actually takes effect if it is set here. Otherwise, the only place you can enable it is system-wide in php.ini. If you try to use ini_set() in your script itself, it’s too late: if your script has a parse error, it will silently die.

5. This will not (as of 2013) work on Linux. It acts as if the whole string, «-n -ddisplay_errors=E_ALL» were a single argument. But in BSD, the shebang line can take more than 2 arguments, and so it may work as intended.

Summary: use (2) for maximum portability, and (4) for maximum debugging.

Источник

Master the Art of Running PHP Files Using Terminal: Key Points, Tips and Tricks

Learn how to run PHP files from the command line, execute scripts and test code without the need for a web server. Master the art of terminal use with our helpful tips and tricks.

As a developer or troubleshooter, Running PHP files using the command line or terminal can be a valuable skill. It enables you to execute php file s without the need for a web server and perform tasks such as running scripts and testing code. In this blog post, we will cover the key points, important points, and helpful tips and tricks for running PHP files using the command line.

Running PHP Files from Command Line

PHP files can be executed in the command line by using the “php” command followed by the file name. For example, to run a file named “example.php”, you would enter the command “php example.php” in the terminal. It’s important to note that the first line of the PHP file should contain “#!/usr/bin/php” to ensure it is executed by the correct program.

The PHP CLI does not care about file extensions, and can run files without the “.php” extension. This can be useful if you want to run a file with a different extension, such as “.txt”. Running PHP scripts from the command line can be useful for troubleshooting, testing, and executing repetitive tasks.

Running PHP Files on Windows

On Windows, PHP can be run from the command line without any changes to the system. To run a PHP file on Windows, users can use the “php” command followed by the file name. For example, to run a file named “example.php”, you would enter the command “php example.php” in the command prompt.

Users can also add PHP to the system path to make it easier to access. To do this, add the path to the PHP executable file to the system environment variables. This will allow you to run PHP files from any directory without having to specify the full path to the executable.

How to Run PHP Code in Visual Studio Code Terminal Console

Interactive Mode

Interactive mode allows users to type PHP commands directly into the terminal. To enter interactive mode, users can type “php -a” in the terminal. This will open the PHP shell, where you can enter PHP commands and see the output immediately.

Interactive mode can be useful for testing small snippets of code and experimenting with PHP commands. It’s important to note that interactive mode does not execute PHP files , but rather allows you to enter PHP code directly into the terminal.

Built-in Web Server

The built-in web server can be used to run PHP files given on the command line. To use the built-in web server, users can type “php -S localhost:8000” in the terminal, followed by the file name. For example, to run a file named “example.php”, you would enter the command “php -S localhost:8000 example.php” in the terminal.

The built-in web server can be used for testing and development purposes. It’s important to note that the built-in web server is not intended for production use, and should not be used to serve a live website.

Additional Tips and Tricks

Here are some additional tips and tricks for running PHP files using the command line:

  • The Code Runner extension can be used in Visual Studio Code to run PHP code in the terminal. This extension supports running PHP code snippets or entire files directly from within the editor.
  • PHP 8.0 and PHP 7.4 can be executed from the command line using specific commands. For example, to run PHP 8.0, you would enter the command “php8.0” in the terminal.
  • The “-r” option can be used to run PHP code directly in the terminal without needing a file. For example, to print the PHP version, you would enter the command “php -r ‘echo phpversion();’” in the terminal.
  • The “-f” option can be used to specify a file to run in the command line. For example, to run a file named “example.php”, you would enter the command “php -f example.php” in the terminal.
  • The “exec” function can be used to run shell commands from within a PHP script. This can be useful if you need to execute a shell command as part of your PHP script.

Other quick code examples for running a PHP file in terminal

$ cd ~/public_html $ php -S localhost:8000

In Php as proof, php run command line

In Php , for example, execute php in terminal code sample

In Shell case in point, execute php file from command line code example

In Php , for example, cmd run php file code sample

// terminal run php file // First run "php" in the terminal, in the path directory php // If php works there. Then : php path_to_file/file_name.php//This will run your php and print stuff to your console in plain text. //It's useful for a range of testing and data maniplation purposes. //And has the full php cammand line. So potential is up to your imagination.

In Php , for instance, php run command terminal

In Php , for example, how to run a php file using code example

In Php , for instance, how to execute a php script from the command line? code sample

To execute a php script, use the PHP Command Line interface(CLI) and specify the file name of the script in the following way: php script.php

Conclusion

Running PHP files using the command line or terminal can be a valuable skill for developers and troubleshooters. By utilizing the built-in web server, interactive mode, and various options and commands, users can execute PHP files and test their code efficiently. By following the key points, important points, and helpful tips and tricks outlined in this blog post, users can master the art of running PHP files using the command line or terminal.

Источник

Оцените статью