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)