Both the version compiled from source and the pre-created PHP version come with a PHP executable file by default. This executable can be used to run command line PHP programs.
To find this executable file on your system, follow the steps below: Windows: Place it in the main PHP installation directory. The file name is php.exe or (in older versions of PHP) php-cli.exe. Linux: Saved in the bin/ subdirectory of the PHP installation directory. Note: The PHP.INI used when running in CLI mode and CGI mode are not the same set of configurations and need to be configured separately. No matter which system it is on, you need to test it to ensure that it works properly by calling it with the -v parameter: shell> /path/php.exe -v PHP 5.0.0 (cli) (built: Jun 1 2005 18:32:10) Copyright (c) 1997-2004 The PHP Group Zend Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies Copy after login Use CLI commands A simple PHP CLI program named hello.php <?php echo "Hello from the CLI"; ?> Copy after login shell> /path/php.exe /example/hello.php Hello from the CLI Copy after login
You can use these three constants in your own PHP scripts to accept user input or display the results of processing and calculations. Usage example: <?php // ask for input fwrite(STDOUT, "Enter your name: "); // get input $name = trim(fgets(STDIN)); // write input back fwrite(STDOUT, "Hello, $name!"); ?> output: D:\>\wamp\bin\php\php5.3.0\php.exe \tools\index.php Enter your name: kkk Hello, kkk! Copy after login <?php print_r($argv); ?> output: D:\>\wamp\bin\php\php5.3.0\php.exe \tools\index.php bac ddd Array ( [0] => \tools\index.php [1] => bac [2] => ddd ) Copy after login Note: We can also use the Console_Getopt PEAR class to add more complex command line parameters to PHP.
Command line custom variables2 [Use Console_Getopt to receive parameters] Note: This variable is only available when register_argc_argv is turned on getopt($option, $longopts) // The first $option receives -h vb the second parameter receives --require sss Usage examples <?php $shortopts = ""; $shortopts .= "f:"; // Required value $shortopts .= "v::"; // Optional value $shortopts .= "abc"; // These options do not accept values $longopts = array( "required:", // Required value "optional::", // Optional value "option", // No value "opt", // No value ); $options = getopt($shortopts, $longopts); var_dump($options); ?> ouput: D:\>\wamp\bin\php\php5.3.0\php.exe \tools\index.php -f "value for f" -v -a --re quired value --optional="optional value" --option will array(6) { ["f"]=> string(11) "value for f" ["v"]=> bool(false) ["a"]=> bool(false) ["required"]=> string(5) "value" ["optional"]=> string(14) "optional value" ["option"]=> bool(false) } Copy after login In addition to passing PHP script parameters with the command line, you can also pass PHP CLI parameters to change the way it works.
交互模式 你还可以以交互方式使用PHP CLI,也就是输入命令,马上获得结果。 要得到这种效果,只需要使用一个参数调用CLI可执行文件就行了,就像下面这样: shell> /path/to/php -a Interactive mode enabled <?php echo mktime(); 1121187283 echo 2+2; 4 exit(); shell> Copy after login 用 shell> /path/to/php <?php echo date("d-M-Y h:i:s", time()); ?> <Ctrl-D> 12-Jul-2005 06:54:04 Copy after login |