PHP CLI
也可以使用 CLI(命令行界面)直接从命令行运行 PHP。
除了标准输入和输出方面的一些差异外,CLI 与来自 Web 服务器的 PHP 基本相同。
触发
PHP CLI 允许四种方式来运行 PHP 代码:
-
标准输入。运行不带任何参数的
php
命令,但将 PHP 代码插入其中:echo '<?php echo "Hello world!";' | php
-
文件名作为参数。运行
php
命令,将 PHP 源文件的名称作为第一个参数:php hello_world.php
-
代码作为参数。使用
php
命令中的-r
选项,然后运行代码。<?php
open 标签不是必需的,因为参数中的所有内容都被视为 PHP 代码:php -r 'echo "Hello world!";'
-
交互式 shell。使用
php
命令中的-a
选项启动交互式 shell。然后,键入(或粘贴)PHP 代码并点击 return :$ php -a Interactive mode enabled php > echo "Hello world!"; Hello world!
输出
在 Web 服务器 PHP 中生成 HTML 输出的所有函数或控件都可用于在 stdout 流(文件描述符 1)中生成输出,并且在 Web 服务器 PHP 中的错误日志中生成输出的所有操作都将在 stderr 流中生成输出(文件描述符 2)。
Example.php
<?php
echo "Stdout 1\n";
trigger_error("Stderr 2\n");
print_r("Stdout 3\n");
fwrite(STDERR, "Stderr 4\n");
throw new RuntimeException("Stderr 5\n");
?>
Stdout 6
Shell 命令行
$ php Example.php 2>stderr.log >stdout.log;\
> echo STDOUT; cat stdout.log; echo;\
> echo STDERR; cat stderr.log\
STDOUT
Stdout 1
Stdout 3
STDERR
Stderr 4
PHP Notice: Stderr 2
in /Example.php on line 3
PHP Fatal error: Uncaught RuntimeException: Stderr 5
in /Example.php:6
Stack trace:
#0 {main}
thrown in /Example.php on line 6
输入
请参阅: 命令行界面(CLI)