當用戶打開php頁面時,服務端便執行PHP的命令並將執行結果發送至用戶的浏覽器中,這類似於ASP和CoildFusion,PHP可以運行在WINDOWS和多種版本的UNIX上。除了能夠操作您的頁面外,PHP還能發送HTTP的標題。
你可以設置cookie,管理數字簽名和重定向用戶,而且它提供了極好的連通性到其它數據庫(還有ODBC),集成各種 外部庫來做用PDF文檔解析XML的任何事情。那你還知道可以用php的強大功能做點別的東西嗎? 在以獨立的cgi方式運行時,需要一個php可執行程序,他有很多命令行參數的,有些可以用作很好玩的用途,下面是全部的php命令行參數,其中[]表示 可有可無的,<>表是一定要的。
用法 php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]} -q 安靜模式。不輸出HTTP頭。
-s 將php程序文件用轉化為彩色格式的HTML(比如保留字用綠色,函數和變量為藍色,注釋為黃色而字串則是紅色等等。
-f 讀入並解釋指定的文件。
-c 在中讀入php.ini文件
-a 交互式運行
-d foo[=bar] 定義ini中的輸入項 foo 的值為 bar
-e 輸出額外信息以便調試和性能分析
-z 調入Zend擴展文件
-i php的相關信息
-h help本身。
1.用php -q 文件名.php 方式把php程序當shell程序來用,
2.用 -s把自己的php程序html化。這樣是不是很省心?
3.利用php的odbc功能可以在shell命令中對數據庫進行操作。
幾個常用命令
1、 查看php的版本、配置
在命令行中輸入php –v 即可查看當前php的版本。
PHP 5.2.17(cli) (built: Feb 2 2011 11:19:21) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
其他的選項有: –m、-i。筆者在這裡就不給出列子了。
-m 會顯示當前php加載的有效模塊。
-i 則輸出無html格式的phpinfo。
使用 –ini 選項可以輸出當前php加載ini配置文件的數量、路徑信息。
php--ini-in-shell
2、 在命令行中運行php程序
從命令行運行php非常簡單。但有些注意事項需要各位了解下。諸如$_SESSION之類的服務器變量是無法在命令行中使用的,其他代碼的運行則和web服務器中完全一樣^_^。
<?php echo “運行php命令行echo”; ?>
把上面的代碼另存為hello.php 。在命令行中敲入 php –f hello.php。顯示結果如下:
運行php命令行echo
在命令行中執行php文件的好處之一就是可以通過腳本實現一些計劃任務的執行。而毋須通過web服務器^_^。
當然,我們也可以直接在php中調試代碼:輸入php –r 指令,會出現一個”>”符號。這表示已經進入到php的shell中,可以直接寫代碼,並執行。
-bash-3.2$ php -r ' > for($i=0;$i<2;$i++){ > echo "Number: {$i}\n"; > } > ' Number: 0 Number: 1
還可以使用php –a 命令打開交互模式,輸入一行代碼,php會實時輸出結果。
3、 檢測php語法、高亮輸出
不用執行代碼,我們可以在命令行下檢測php文件的語法錯誤。
-bash-3.2$ php -l hello.php
No syntax errors detected in hello.php
程序員經常會需要將php代碼高亮原樣輸出,使用php –s 即可
-bash-3.2$ php -s hello.php
<code><span > <span ><?php<br /></span> <span >echo </span> <span >'ddd'</span> <span >;<br /></span><span >?><br /></span> </span>
從php5.1.2開始,程序員們可以在php命令行下查看手冊了,輸入php –rf function。會打印出該函數的語法簡介
-bash-3.2$ php --rf strip_tags
Function [ <internal:standard> function strip_tags ] { - Parameters [2] { Parameter #0 [ <required> $str ] Parameter #1 [ <optional> $allowable_tags ] } }