下面通過圖文并茂的方式給大家分享下通過linux命令使用和運(yùn)行php腳本。
php是一個開源服務(wù)器端腳本語言,最初這三個字母代表的是“personal home page”,而現(xiàn)在則代表的是“php:hypertext preprocessor”,它是個遞歸首字母縮寫。它是一個跨平臺腳本語言,深受c、c++和java的影響。
在 linux 命令行中運(yùn)行 php 代碼
php的語法和c、java以及帶有一些php特性的perl變成語言中的語法十分相似,它當(dāng)下大約正被2.6億個網(wǎng)站所使用,當(dāng)前最新的穩(wěn)定版本是php版本5.6.10。
php是html的嵌入腳本,它便于開發(fā)人員快速寫出動態(tài)生成的頁面。php主要用于服務(wù)器端(而javascript則用于客戶端)以通過http生成動態(tài)網(wǎng)頁,然而,當(dāng)你知道可以在linux終端中不需要網(wǎng)頁瀏覽器來執(zhí)行php時,你或許會大為驚訝。
本文將闡述php腳本語言的命令行方面。
1. 在安裝完php和apache2后,我們需要安裝php命令行解釋器。
# apt-get install php5-cli
[debian 及類似系統(tǒng)]# yum install php-cli
[centos 及類似系統(tǒng)]
接下來我們通常要做的是,在 /var/www/html (這是 apache2 在大多數(shù)發(fā)行版中的工作目錄)這個位置創(chuàng)建一個內(nèi)容為 <?php phpinfo(); ?> ,名為 infophp.php 的文件來測試(php是否安裝正確),執(zhí)行以下命令即可。
# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php
然后,將瀏覽器訪問 ,這將會在網(wǎng)絡(luò)瀏覽器中打開該文件。
檢查php信息
不需要任何瀏覽器,在linux終端中也可以獲得相同的結(jié)果。在linux命令行中執(zhí)行 /var/www/html/infophp.php ,如:
# php -f /var/www/html/infophp.php
從命令行檢查php信息
由于輸出結(jié)果太大,我們可以通過管道將上述輸出結(jié)果輸送給 less
命令,這樣就可以一次輸出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less
檢查所有php信息
這里,‘-f‘選項(xiàng)解析并執(zhí)行命令后跟隨的文件。
2. 我們可以直接在linux命令行使用 phpinfo()
這個十分有價值的調(diào)試工具而不需要從文件來調(diào)用,只需執(zhí)行以下命令:
# php -r 'phpinfo();'
php調(diào)試工具
這里,‘-r‘ 選項(xiàng)會讓php代碼在linux終端中不帶 <
和 >
標(biāo)記直接執(zhí)行。
3. 以交互模式運(yùn)行php并做一些數(shù)學(xué)運(yùn)算。這里,‘-a‘ 選項(xiàng)用于以交互模式運(yùn)行php。
# php -ainteractive shellphp > echo 2+3;5php > echo 9-6;3php > echo 5*4;20php > echo 12/3;4php > echo 12/5;2.4php > echo 2+3-1;4php > echo 2+3-1*3;2php > exit
輸入 ‘exit‘ 或者按下 ‘ctrl+c‘ 來關(guān)閉php交互模式。
啟用php交互模式
4. 你可以僅僅將php腳本作為shell腳本來運(yùn)行。首先,創(chuàng)建在你當(dāng)前工作目錄中創(chuàng)建一個php樣例腳本。
# echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php
注意,我們在該php腳本的第一行使用 #!/usr/bin/php
,就像在shell腳本中那樣( /bin/bash
)。第一行的 #!/usr/bin/php
告訴linux命令行用 php 解釋器來解析該腳本文件。
其次,讓該腳本可執(zhí)行:
# chmod 755 phpscript.php
接著來運(yùn)行它,
# ./phpscript.php
5. 你可以完全靠自己通過交互shell來創(chuàng)建簡單函數(shù),這你一定會被驚到了。下面是循序漸進(jìn)的指南。
開啟php交互模式。
# php -a
創(chuàng)建一個函數(shù),將它命名為 addition
。同時,聲明兩個變量 $a
和 $b
。
php > function addition ($a, $b)
使用花括號來在其間為該函數(shù)定義規(guī)則。
php > {
定義規(guī)則。這里,該規(guī)則講的是添加這兩個變量。
php { echo $a + $b;
所有規(guī)則定義完畢,通過閉合花括號來封裝規(guī)則。
php {}
測試函數(shù),添加數(shù)字4和3,命令如下:
php > var_dump (addition(4,3));
樣例輸出
7null
你可以運(yùn)行以下代碼來執(zhí)行該函數(shù),你可以測試不同的值,你想來多少次都行。將里頭的 a 和 b 替換成你自己的值。
php > var_dump (addition(a,b));
php > var_dump (addition(9,3.3));
樣例輸出
12.3null
創(chuàng)建php函數(shù)
你可以一直運(yùn)行該函數(shù),直至退出交互模式(ctrl+z)。同時,你也應(yīng)該注意到了,上面輸出結(jié)果中返回的數(shù)據(jù)類型為 null。這個問題可以通過要求 php 交互 shell用 return 代替 echo 返回結(jié)果來修復(fù)。
只需要在上面的函數(shù)的中 ‘echo‘ 聲明用 ‘return‘ 來替換
替換
php { echo $a + $b;
為
php { return $a + $b;
剩下的東西和原理仍然一樣。
這里是一個樣例,在該樣例的輸出結(jié)果中返回了正確的數(shù)據(jù)類型。
php函數(shù)
永遠(yuǎn)都記住,用戶定義的函數(shù)不會從一個shell會話保留到下一個shell會話,因此,一旦你退出交互shell,它就會丟失了。
以上內(nèi)容就是通過linux命令行使用和運(yùn)行php腳本的全部內(nèi)容,希望大家喜歡。