PHP是一個開源伺服器端腳本語言,最初這三個字母代表的是「Personal Home Page」,而現在則代表的是「PHP:Hypertext Preprocessor」,它是個遞歸首字母縮寫。它是一個跨平台腳本語言,深受C、C++和Java的影響。
在 Linux 命令行中運行 PHP 代碼
PHP的語法和C、Java以及帶有一些PHP特性的Perl變成語言中的語法十分相似,它當下大約正被2.6億個網站所使用,當前最新的穩定版本是PHP版本5.6.10。
PHP是HTML的嵌入腳本,它便於開發人員快速寫出動態生成的頁面。PHP主要用於伺服器端(而Javascript則用於客戶端)以通過HTTP生成動態網頁,然而,當你知道可以在Linux終端中不需要網頁瀏覽器來執行PHP時,你或許會大為驚訝。
本文將闡述PHP腳本語言的命令行方面。
1. 在安裝完PHP和Apache2後,我們需要安裝PHP命令行解釋器。
# apt-get install php5-cli [Debian 及類似系統] # yum install php-cli [CentOS 及類似系統]接下來我們通常要做的是,在/var/www/html(這是 Apache2 在大多數發行版中的工作目錄)這個位置創建一個內容為 ,名為 infophp.php 的文件來測試(PHP是否安裝正確),執行以下命令即可。
# echo '' /var/www/html/infophp.php然後,將瀏覽器訪問 http://127.0.0.1/infophp.php ,這將會在網路瀏覽器中打開該文件。
檢查PHP信息
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結果。在Linux命令行中執行/var/www/html/infophp.php,如:
# php -f /var/www/html/infophp.php從命令行檢查PHP信息
由於輸出結果太大,我們可以通過管道將上述輸出結果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:
# php -f /var/www/html/infophp.php | less檢查所有PHP信息
這里,『-f『選項解析並執行命令後跟隨的文件。
2. 我們可以直接在Linux命令行使用phpinfo()這個十分有價值的調試工具而不需要從文件來調用,只需執行以下命令:
# php -r 'phpinfo();'PHP調試工具
這里,『-r『 選項會讓PHP代碼在Linux終端中不帶和標記直接執行。
3. 以交互模式運行PHP並做一些數學運算。這里,『-a『 選項用於以交互模式運行PHP。
# php -a Interactive shell php echo 2+3; 5 php echo 9-6; 3 php echo 5*4; 20 php echo 12/3; 4 php echo 12/5; 2.4 php echo 2+3-1; 4 php echo 2+3-1*3; 2 php exit輸入 『exit『 或者按下 『ctrl+c『 來關閉PHP交互模式。
啟用PHP交互模式
4. 你可以僅僅將PHP腳本作為shell腳本來運行。首先,創建在你當前工作目錄中創建一個PHP樣例腳本。
# echo -e '#!/usr/bin/php' phpscript.php注意,我們在該PHP腳本的第一行使用#!/usr/bin/php,就像在shell腳本中那樣(/bin/bash)。第一行的#!/usr/bin/php告訴Linux命令行用 PHP 解釋器來解析該腳本文件。
其次,讓該腳本可執行:
# chmod 755 phpscript.php接著來運行它,
# ./phpscript.php5. 你可以完全靠自己通過交互shell來創建簡單函數,這你一定會被驚到了。下面是循序漸進的指南。
開啟PHP交互模式。
# php -a創建一個函數,將它命名為 addition。同時,聲明兩個變數 $a 和 $b。
php function addition ($a, $b)使用花括弧來在其間為該函數定義規則。
php {定義規則。這里,該規則講的是添加這兩個變數。
php { echo $a + $b;所有規則定義完畢,通過閉合花括弧來封裝規則。
php {}測試函數,添加數字4和3,命令如下:
php var_mp (addition(4,3));樣例輸出
7NULL你可以運行以下代碼來執行該函數,你可以測試不同的值,你想來多少次都行。將里頭的 a 和 b 替換成你自己的值。
php var_mp (addition(a,b));php var_mp (addition(9,3.3));樣例輸出
12.3NULL創建PHP函數
你可以一直運行該函數,直至退出交互模式(ctrl+z)。同時,你也應該注意到了,上面輸出結果中返回的數據類型為 NULL。這個問題可以通過要求 php 交互 shell用 return 代��� echo 返回結果來修復。
只需要在上面的函數的中 『echo『 聲明用 『return『 來替換
替換
php { echo $a + $b;為
php {return $a + $b;剩下的東西和原理仍然一樣。
這里是一個樣例,在該樣例的輸出結果中返回了正確的數據類型。
PHP函數
永遠都記住,用戶定義的函數不會從一個shell會話保留到下一個shell會話,因此,一旦你退出交互shell,它就會丟失了。
回復
使用道具 舉報
返回列表
② 怎樣在命令行執行phpunit
因為phpunit要通過pear安裝,所以首先要安裝pear
找到php的目錄下有一個Go-pear.bat,雙擊運行,提示你安裝系統級別的還是一個本地拷貝,直接回車,定製安裝目錄,選擇默認即可,直接回車。程序會自動從網站上下載所需要的文件,過一會就提示你安裝好了。
安裝好pear後,在php的目錄下發現有一個pear.bat,這個是pear安裝包用的程序,
在命令行進行php目錄,輸入 pear install phpunit2
即可,安裝完成。
在php目錄下會生成一個phpunit.bat,這個是命令行下的測試命令。
我們可以把他復制到我們要測試程序的目錄下面。
在命令行下輸入 phpunit sampleTest
就是對sampleTest這個case進行測試了。
有二點需要注意的地方:
phpunit需要pear的benchmark包,所以要安裝 pear install benchmark即可。
在windows下安裝完成後還不能直接進行測試,運行測試程序時會出現 'php'不是內部或外部命令,也不是可運行的程序。的錯誤,經我一路跟蹤,最後在PHPUnit2/Util/Fileloader.php這個文件里找到了問題所在,這個文件是載入測試文件用的,同時使用php解釋器進行了語法檢查,shell_exec('php -l ' . escapeshellarg($filename));,而我的php.exe並沒有在系統的path中,所以出現了上述問題,一種辦法是將$output到include之前的代碼全部注釋掉,這樣就不用語法檢查了,還有一種辦法就是在系統path中加入php的安裝目錄。
③ 怎麼在linux運行php文件
1、打開我們的linux命令行,准備好。
2、找到php的安裝目錄,主要是找到linux環境下,php可執行文件的目錄。如圖所示。筆者的目錄為/opt/lampp/bin/php,將此目錄記下,備用。
3、找到要運行的php文件所在的目錄,隨便寫點php代碼就可以,在此筆者已經准備好。/opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php,將此目錄記下,接下來就要正式開始運行了。
4、打開剛剛第一步打開的linux命令行,輸入/opt/lampp/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php(即依次輸入剛剛的兩個目錄)注意兩個目錄中間有空格。
5、按下回車,可以看到,php文件已經正確執行了。