****CodeIgniter使用cli模式運行,把php做爲shell編程

shell簡介php

在計算機科學中,Shell俗稱殼(用來區別於核)。而咱們常說的shell簡單理解就是一個命令行界面,它使得用戶能與操做系統的內核進行交互操做。html

常見的shell環境有:MS-DOS、Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)等等。java

shell的腳本格式是固定的,以下:shell

1
2
3
#!/bin/sh
#comments
Your commands go here

第一行稱之爲shebang,符號#!告訴系統其後路徑所指定的程序便是解釋此腳本文件的Shell程序。編程

 

有兩種運行shell的方式:一種是將腳本做爲sh的命令行參數,另外一種是降腳本做爲具備執行權限的可執行文件。api

將shell做爲命令行參數時的運行方式以下:bash

1
sh script.sh

若是將腳本做爲sh的命令行參數來運行,那麼腳本中的shebang行也就沒什麼用處了。服務器

 

爲了是shell腳本可以本身獨立運行,須要具有可執行權限。要使腳本獨立運行必須利用shebang行。它經過使用位於#!以後的解釋器來運行腳本。至於腳本的可執行權限,能夠經過chmod命令來設置:app

1
chmod a+x script.sh

上面的chmod命令賦予全部用script.sh文件的可執行權限。那麼這個腳本就能夠做爲可執行程序運行:編輯器

1
./script.sh

 

php-cli簡介

用Shell編程能夠靈活地解決大量重複任務,十分方便。可是,Shell的語法十分怪異,不容易記,若是如今熟悉的語言能夠用來寫shell那就行了——好比php——就能夠快速開發Shell程序了。

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

也就是說,php不單能夠寫前臺網頁,它還能夠用來寫後臺的程序。固然是跟php如出一轍啦,由於它就是php嘛!只不過一些默認的參數與php-cgi不一樣,好比運行時間:php-cli默認運行時間是無窮,而網頁php默認設置是30s。

 

codeigniter cli模式

讓咱們試一試:Hello World!

首先建立一個簡單的控制器。使用你的文本編輯器,建立一個叫作 tools.php 的文件,而且輸入以下代碼:

1
2
3
4
5
6
7
8
9
<?php
class  Tools  extends  CI_Controller {
 
   public  function  message( $to  'World' )
   {
     echo  "Hello {$to}!" .PHP_EOL;
   }
}
?>

 

而後將這個文件保存到你的 application/controllers/ 文件夾裏。如今正常狀況下你能夠經過你網站的 URL 來訪問它:

1
example.com/index.php/tools/message/to

除此以外,咱們也能夠在 Mac/Linux 中打開終端,或者在 Windows 下進入「運行」輸入「cmd」,並進入咱們的 CodeIgniter 項目的目錄。

1
2
$ cd /path/to/project;
$ php index.php tools message

若是你跟這這一步步下來,你應該會看到 Hello World!。

1
$ php index.php tools message  "John Smith"

這裏咱們像使用 URL 參數同樣給它傳遞了一個參數。「John Smith」做爲一個參數被傳遞了,而且輸出也變成:Hello John Smith!。

相關文章
相關標籤/搜索