****CodeIgniter使用cli模式運行,把php作為shell編程


shell簡介

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

常見的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)等等。

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

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

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

 

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

將shell作為命令行參數時的運行方式如下:

1
sh script.sh

如果將腳本作為sh的命令行參數來運行,那么腳本中的shebang行也就沒什么用處了。

 

為了是shell腳本能夠自己獨立運行,需要具備可執行權限。要使腳本獨立運行必須利用shebang行。它通過使用位於#!之后的解釋器來運行腳本。至於腳本的可執行權限,可以通過chmod命令來設置:

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!。

 


免責聲明!

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



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