如何通過(guò)Linux命令行使用和運(yùn)行PHP腳本
下面通過(guò)圖文并茂的方式給大家分享下通過(guò)Linux命令使用和運(yùn)行PHP腳本。
PHP是一個(gè)開(kāi)源服務(wù)器端腳本語(yǔ)言,最初這三個(gè)字母代表的是“Personal Home Page”,而現(xiàn)在則代表的是“PHP:Hypertext Preprocessor”,它是個(gè)遞歸首字母縮寫(xiě)。它是一個(gè)跨平臺(tái)腳本語(yǔ)言,深受C、C++和Java的影響。
在 Linux 命令行中運(yùn)行 PHP 代碼
PHP的語(yǔ)法和C、Java以及帶有一些PHP特性的Perl變成語(yǔ)言中的語(yǔ)法十分相似,它當(dāng)下大約正被2.6億個(gè)網(wǎng)站所使用,當(dāng)前最新的穩(wěn)定版本是PHP版本5.6.10。
PHP是HTML的嵌入腳本,它便于開(kāi)發(fā)人員快速寫(xiě)出動(dòng)態(tài)生成的頁(yè)面。PHP主要用于服務(wù)器端(而Javascript則用于客戶端)以通過(guò)HTTP生成動(dòng)態(tài)網(wǎng)頁(yè),然而,當(dāng)你知道可以在Linux終端中不需要網(wǎng)頁(yè)瀏覽器來(lái)執(zhí)行PHP時(shí),你或許會(huì)大為驚訝。
本文將闡述PHP腳本語(yǔ)言的命令行方面。
1. 在安裝完P(guān)HP和Apache2后,我們需要安裝PHP命令行解釋器。
# apt-get install php5-cli
[Debian 及類似系統(tǒng)]# yum install php-cli
[CentOS 及類似系統(tǒng)]
接下來(lái)我們通常要做的是,在 /var/www/html (這是 Apache2 在大多數(shù)發(fā)行版中的工作目錄)這個(gè)位置創(chuàng)建一個(gè)內(nèi)容為 <?php phpinfo(); ?> ,名為 infophp.php 的文件來(lái)測(cè)試(PHP是否安裝正確),執(zhí)行以下命令即可。
# echo '<?php phpinfo(); ?>' > /var/www/html/infophp.php
然后,將瀏覽器訪問(wèn) http://127.0.0.1/infophp.php ,這將會(huì)在網(wǎng)絡(luò)瀏覽器中打開(kāi)該文件。
檢查PHP信息
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結(jié)果。在Linux命令行中執(zhí)行 /var/www/html/infophp.php ,如:
# php -f /var/www/html/infophp.php
從命令行檢查PHP信息
由于輸出結(jié)果太大,我們可以通過(guò)管道將上述輸出結(jié)果輸送給 less
命令,這樣就可以一次輸出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less
檢查所有PHP信息
這里,‘-f‘選項(xiàng)解析并執(zhí)行命令后跟隨的文件。
2. 我們可以直接在Linux命令行使用 phpinfo()
這個(gè)十分有價(jià)值的調(diào)試工具而不需要從文件來(lái)調(diào)用,只需執(zhí)行以下命令:
# php -r 'phpinfo();'
PHP調(diào)試工具
這里,‘-r‘ 選項(xiàng)會(huì)讓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‘ 來(lái)關(guān)閉PHP交互模式。
啟用PHP交互模式
4. 你可以僅僅將PHP腳本作為shell腳本來(lái)運(yùn)行。首先,創(chuàng)建在你當(dāng)前工作目錄中創(chuàng)建一個(gè)PHP樣例腳本。
# echo -e '#!/usr/bin/php\n<?php phpinfo(); ?>' > phpscript.php
注意,我們?cè)谠揚(yáng)HP腳本的第一行使用 #!/usr/bin/php
,就像在shell腳本中那樣( /bin/bash
)。第一行的 #!/usr/bin/php
告訴Linux命令行用 PHP 解釋器來(lái)解析該腳本文件。
其次,讓該腳本可執(zhí)行:
# chmod 755 phpscript.php
接著來(lái)運(yùn)行它,
# ./phpscript.php
5. 你可以完全靠自己通過(guò)交互shell來(lái)創(chuàng)建簡(jiǎn)單函數(shù),這你一定會(huì)被驚到了。下面是循序漸進(jìn)的指南。
開(kāi)啟PHP交互模式。
# php -a
創(chuàng)建一個(gè)函數(shù),將它命名為 addition
。同時(shí),聲明兩個(gè)變量 $a
和 $b
。
php > function addition ($a, $b)
使用花括號(hào)來(lái)在其間為該函數(shù)定義規(guī)則。
php > {
定義規(guī)則。這里,該規(guī)則講的是添加這兩個(gè)變量。
php { echo $a + $b;
所有規(guī)則定義完畢,通過(guò)閉合花括號(hào)來(lái)封裝規(guī)則。
php {}
測(cè)試函數(shù),添加數(shù)字4和3,命令如下:
php > var_dump (addition(4,3));
樣例輸出
7NULL
你可以運(yùn)行以下代碼來(lái)執(zhí)行該函數(shù),你可以測(cè)試不同的值,你想來(lái)多少次都行。將里頭的 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)。同時(shí),你也應(yīng)該注意到了,上面輸出結(jié)果中返回的數(shù)據(jù)類型為 NULL。這個(gè)問(wèn)題可以通過(guò)要求 php 交互 shell用 return 代替 echo 返回結(jié)果來(lái)修復(fù)。
只需要在上面的函數(shù)的中 ‘echo‘ 聲明用 ‘return‘ 來(lái)替換
替換
php { echo $a + $b;
為
php { return $a + $b;
剩下的東西和原理仍然一樣。
這里是一個(gè)樣例,在該樣例的輸出結(jié)果中返回了正確的數(shù)據(jù)類型。
PHP函數(shù)
永遠(yuǎn)都記住,用戶定義的函數(shù)不會(huì)從一個(gè)shell會(huì)話保留到下一個(gè)shell會(huì)話,因此,一旦你退出交互shell,它就會(huì)丟失了。
以上內(nèi)容就是通過(guò)Linux命令行使用和運(yùn)行PHP腳本的全部?jī)?nèi)容,希望大家喜歡。
- PHP如何獲取命令行參數(shù)
- php命令行模式代碼實(shí)例詳解
- php web環(huán)境和命令行環(huán)境下查找php.ini的位置
- php根據(jù)命令行參數(shù)生成配置文件詳解
- php命令行寫(xiě)shell實(shí)例詳解
- 命令行執(zhí)行php腳本中的$argv和$argc配置方法
- 利用PHP命令行模式采集股票趨勢(shì)信息
- 基于命令行執(zhí)行帶參數(shù)的php腳本并取得參數(shù)的方法
- php生成curl命令行的方法
- 實(shí)例講解yii2.0在php命令行中運(yùn)行的步驟
- PHP的命令行擴(kuò)展Readline相關(guān)函數(shù)的使用
相關(guān)文章
Laravel 自動(dòng)轉(zhuǎn)換長(zhǎng)整型雪花 ID 為字符串的實(shí)現(xiàn)
這篇文章主要介紹了Laravel 自動(dòng)轉(zhuǎn)換長(zhǎng)整型雪花 ID 為字符串的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10php無(wú)限極分類實(shí)現(xiàn)的兩種解決方法
本篇文章介紹了,在php中無(wú)限極分類實(shí)現(xiàn)的兩種解決方法。需要的朋友參考下2013-04-04Laravel 框架路由原理與路由訪問(wèn)實(shí)例分析
這篇文章主要介紹了Laravel 框架路由原理與路由訪問(wèn),結(jié)合實(shí)例形式分析了Laravel 框架路由的基本概念、原理、路由訪問(wèn)方法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04php 字符串中的\n換行符無(wú)效、不能換行的解決方法
這篇文章主要介紹了php 字符串中的換行符無(wú)效、不能換行的解決方法,實(shí)際上是PHP的雙引號(hào)和單引號(hào)的使用問(wèn)題,需要的朋友可以參考下2014-04-04Yii Framework框架中事件和行為的區(qū)別及應(yīng)用實(shí)例分析
這篇文章主要介紹了Yii Framework框架中事件和行為的區(qū)別及應(yīng)用,結(jié)合實(shí)例形式分析了Yii Framework框架中事件和行為的相關(guān)概念、原理、區(qū)別及應(yīng)用操作技巧,需要的朋友可以參考下2020-04-04使用 PHPMAILER 發(fā)送郵件實(shí)例應(yīng)用
以前的mail(),已經(jīng)不在流行,所以放上最近用的實(shí)例,留做回憶;需要的朋友可以參考下2012-11-11使用PHP和HTML5 FormData實(shí)現(xiàn)無(wú)刷新文件上傳教程
這篇文章主要介紹了使用PHP和HTML5 FormData實(shí)現(xiàn)無(wú)刷新文件上傳教程,本文先是分解了程序的編寫(xiě)步驟,最后給出一個(gè)完整示例,需要的朋友可以參考下2014-09-09