php-cli簡介(不會Shell語言一樣用Shell)_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:基于在生產環境中使用php性能測試工具xhprof的詳解
      本篇文章是對在生產環境中使用php性能測試工具xhprof進行了詳細的分析介紹,需要的朋友參考下

      1.基礎知識

      1.1 什么是Shell編程?
      在 Unix 中,shell 可不是簡單的命令解釋器(典型的有 Windows 中的 DOS ),而是一個全功能的編程環境。Shell 是操作系統的一部分,用來與用戶打交道,并且可以用來協調各個命令【1】。用Shell編程可以靈活地解決大量重復任務,十分方便。但是,Shell的語法十分怪異(個人意見),不容易記,如果現在熟悉的語言可以用來寫shell那就好了——比如php——就可以快速開發Shell程序了(比如我的Preminder的后臺程序),于是便有了這篇文章,本文以Linux為例說明php-cli的用法,其它平臺的版本類似。

      1.2 什么是php-cli?
      剛才說到,我們可以用php來開發Shell程序。有的同學可能會問啦:“php不是用來做網頁的么?-_-”。是的,php可以用來做動態網頁,并且當初php就是為做動態網頁而開發的語言,但是理論上php可以用來做任何的程序,甚至是桌面程序,而php-cli是php在命令行運行的支持環境,也就是我們說的可以用來寫Shell的環境支持。

      php-cli是php Command Line Interface的簡稱,如同它名字的意思,就是php在命令行運行的接口,區別于在Web服務器上運行的php環境(php-cgi, isapi等)【2】。

      也就是說,php不單可以寫前臺網頁,它還可以用來寫后臺的程序。

      2. 執行php-cli腳本

      2.1 php-cli的語法
      當然是跟php一模一樣啦,因為它就是php嘛!只不過一些默認的參數與php-cgi不同,比如運行時間:php-cli默認運行時間是無窮,而網頁php默認設置是30s。

      2.2 執行php-cli腳本

      2.2.1. 直接在終端執行php
      kangzj@localhost# php -r 'kangzj@localhost# php my_script.php

      kangzj@localhost# php -f my_script.php上而說的php文件就是一般的php文件沒有什么不同。還有一種方式,就是在文件中指令解釋器,就可以直接在終端以”./test.php執行腳本了”,test.php就像下面這樣:

      復制代碼 代碼如下:www.wf0088.com

      #!/usr/bin/php -q
      <?php
      echo "Hello world of PHP CLI!";
      ?>


      補充:php的Shell程序并不一定以php為擴展名,可以以任意擴展名,甚至不要擴展名,只是為了清楚,我才用的php擴展名。

      2.2.3. 用Cron執行php-cli腳本
      cron是一個linux下的定時執行工具,可以在無需人工干預的情況下運行作業,周期性作業,比如備份數據,Preminder定期查詢PR等等,添加的方法:打開/etc/crontab,添加:

      0 13 * * * /usr/bin/php -f /home/phpscripts/phpcli.php

      4. 結語
      如果你會php的話,那么你也會了一種Shell編程語言!

      如果你不會php,你去學php,就相當于一下子學會動態網頁和Shell兩種語言!并且你甚至可以用php來寫具有圖形界面的應用程序,Dnspod的動態域名客戶端中就有一種是用php開發的。

      php的易學是出名的,如果你還不會,那是在猶豫什么呢?

      另外,再宣傳一下我的”Preminder”——PR更新Email提醒服務~~

      5. 參考文獻
      1.Linux Shell簡介 :
      2.PHP Command Line Interface : Mystic Unleashed :
      3.ch 4.2, php manual :
      PS:Shell命令還是要知道一些的,否則有些功能不太好實現。

      分享:php cli模式學習(PHP命令行模式)
      之前知道php—cli模式是一種類似shell命令式的執行php程序,不過一直以為這個是一種落后的方式,應該沒有什么意義,因為從沒有遇到過使用這個cli模式編程的。不過今天遇到了使用cli模式的應用

      來源:模板無憂//所屬分類:PHP教程/更新時間:2013-06-04
      相關PHP教程