PHP CLI模式介紹及使用教程


看看全稱就知道了,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()去檢測的,不信,看下面這段代碼:


  1. <?php
  2. /** 轉載請注明鏈接:http://www.phpddt.com */
  3. echo php_sapi_name();

我在瀏覽器上運行結果:
PHP CLI模式介紹及使用教程演示1我在windows的cmd上運行:
PHP CLI模式介紹及使用教程演示2使用標准的輸入輸出:

STDIN  標准輸入設備

STDOUT 標准輸出設備

STDERR 標准錯誤設備

看看運行下面這段程序的結果就知道了:


  1. <?php
  2. // ask for input
  3. fwrite(STDOUT, "Enter your name: ");
  4.  
  5. // get input
  6. $name = trim(fgets(STDIN));
  7.  
  8. // write input back
  9. fwrite(STDOUT, "Hello, $name!");

運行截圖:
st.jpg使用命令行自變量:
PHP CLI帶有兩個特殊的變量,專門用來達到這個目的:一個是$argv變量,它通過命令行把傳遞給PHP腳本的參數保存為單獨的數組元素;另一個是$ argc變量,它用來保存$argv數組里元素的個數。
你可以運行:


  1. <?php
  2. /**
  3. *@link http://www.phpddt.com
  4. */
  5. print_r($argv);

看結果:
PHP CLI模式介紹及使用教程演示3使用PHP CLI傳遞腳本參數的形式:
請看參數:


參數 說明
-a 交互式運行Run interactively
-c path 從path讀取php的.ini文件
-n 不用讀取php的.ini文件就直接運行
-m 列出經過編譯的模塊
-i 顯示有關PHP構建的信息
-l 檢查PHP腳本的句法
-s 以彩色方式顯示源代碼
-w 顯示去掉注釋之后的源代碼
-h 顯示幫助



PHP CLI模式介紹及使用教程演示4
至此,我對PHP CLI有了一定的認識了,如果讀者想要了解更多,請參考官方手冊:http://php.net/manual/zh/features.commandline.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM