看看全稱就知道了,php-cli是php Command Line Interface的簡稱,即PHP命令行接口,在windows和linux下都是支持PHP-CLI模式的,其實這兩者,我以前都寫過文章:
一、window在命令行下運行php 程序
二、linux使用crontab實現定時任務
PHP-CLI模式的優勢及使用場合:
- 1.完全支持多線程
- 2.如上,可以實現定時任務
- 3.開發桌面應用就是使用PHP-CLI和GTK包
- 4.linux下用php編寫shell腳本
其實PHP的運行環境遠遠不止apache和cli的,哈哈,如aolserver, apache, apache2filter, apache2handler, caudium, cgi (until PHP 5.3), cgi-fcgi, cli, continuity, embed, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux, and webjames.
你可以用php_sapi_name()去檢測的,不信,看下面這段代碼:
- <?php
- /** 轉載請注明鏈接:http://www.phpddt.com */
- echo php_sapi_name();
我在瀏覽器上運行結果:我在windows的cmd上運行:
使用標准的輸入輸出:
STDIN 標准輸入設備
STDOUT 標准輸出設備
STDERR 標准錯誤設備
看看運行下面這段程序的結果就知道了:
- <?php
- // ask for input
- fwrite(STDOUT, "Enter your name: ");
- // get input
- $name = trim(fgets(STDIN));
- // write input back
- fwrite(STDOUT, "Hello, $name!");
運行截圖:使用命令行自變量:
PHP CLI帶有兩個特殊的變量,專門用來達到這個目的:一個是$argv變量,它通過命令行把傳遞給PHP腳本的參數保存為單獨的數組元素;另一個是$ argc變量,它用來保存$argv數組里元素的個數。
你可以運行:
- <?php
- /**
- *@link http://www.phpddt.com
- */
- print_r($argv);
看結果:使用PHP CLI傳遞腳本參數的形式:
請看參數:
參數 | 說明 |
-a | 交互式運行Run interactively |
-c | path 從path讀取php的.ini文件 |
-n | 不用讀取php的.ini文件就直接運行 |
-m | 列出經過編譯的模塊 |
-i | 顯示有關PHP構建的信息 |
-l | 檢查PHP腳本的句法 |
-s | 以彩色方式顯示源代碼 |
-w | 顯示去掉注釋之后的源代碼 |
-h | 顯示幫助 |
至此,我對PHP CLI有了一定的認識了,如果讀者想要了解更多,請參考官方手冊:http://php.net/manual/zh/features.commandline.php
轉載:
http://www.phpddt.com/php/php-cli.html 尊重他人勞動成果就是尊重自己!