在 Linux 命令列中使用和執行 PHP 程式碼(一)
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 在大多數發行版中的工作目錄)這個位置建立一個內容為 <?php phpinfo(); ?>,名為 infophp.php 的檔案來測試(PHP是否安裝正確),執行以下命令即可。
# echo '<?php phpinfo(); ?>' > /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/n<?php phpinfo(); ?>' > phpscript.php
注意,我們在該PHP指令碼的第一行使用#!/usr/bin/php,就像在shell指令碼中那樣(/bin/bash)。第一行的#!/usr/bin/php告訴Linux命令列用 PHP 直譯器來解析該指令碼檔案。
其次,讓該指令碼可執行:
# chmod 755 phpscript.php
接著來執行它,
# ./phpscript.php
5. 你可以完全靠自己通過互動shell來建立簡單函式,這你一定會被驚到了。下面是循序漸進的指南。
開啟PHP互動模式。
# php -a
建立一個函式,將它命名為 addition。同時,宣告兩個變數 $a 和 $b。
php > function addition ($a, $b)
使用花括號來在其間為該函式定義規則。
php > {
定義規則。這裡,該規則講的是新增這兩個變數。
php { echo $a + $b;
所有規則定義完畢,通過閉合花括號來封裝規則。
php {}
測試函式,新增數字4和3,命令如下:
php > var_dump (addition(4,3));
樣例輸出
7NULL
你可以執行以下程式碼來執行該函式,你可以測試不同的值,你想來多少次都行。將裡頭的 a 和 b 替換成你自己的值。
php > var_dump (addition(a,b));
php > var_dump (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,它就會丟失了。
希望你喜歡此次教程。保持連線,你會獲得更多此類文章。保持關注,保持健康。請在下面的評論中為我們提供有價值的反饋。點贊並分享,幫助我們擴散。
相關文章
- 在 Linux 命令列中使用和執行 PHP 程式碼(二)Linux命令列PHP
- 在 PBootCMS 中,使用 {php} 和 {eval} 標籤可以在模板中執行 PHP 程式碼bootPHP
- 教你在命令列下執行PHP和MySQL命令列PHPMySql
- 在html檔案中執行php程式碼HTMLPHP
- 在 Linux 命令列指令碼中執行 sudo 時自動輸入密碼Linux命令列指令碼密碼
- 【Java】【轉】在命令列中編譯和執行javaJava命令列編譯
- php程式碼審計之命令執行中windows/linux的差異化問題PHPWindowsLinux
- 在 Linux 中執行特定命令而無需 sudo 密碼Linux密碼
- 收集 Linux 命令列執行的命令Linux命令列
- yii2.0檔案如何在php命令列中執行PHP命令列
- 在PHP中以root身份執行外部命令(轉)PHP
- shell指令碼命令 執行python檔案&python命令列執行python程式碼指令碼Python命令列
- 使用php作linux自動執行指令碼PHPLinux指令碼
- 使用 xclip 在 Linux 命令列中複製貼上Linux命令列
- 使用 Calcurse 在 Linux 命令列中組織任務Linux命令列
- 在 Windows 中執行 Linux 命令的 4 種方法WindowsLinux
- Java在不同執行緒中執行程式碼Java執行緒行程
- PHP多程式並行執行php指令碼PHP並行指令碼
- 在Linux命令列中進行大小寫字元轉換Linux命令列字元
- 使用nohup命令讓linux程式後臺執行Linux
- Docker命令-docker exec-在執行的容器中執行命令Docker
- 在linux系統中在後臺以作業形式執行命令Linux
- 讓dede執行php程式碼和mysql語句PHPMySql
- 在linux上定期執行命令、指令碼(cron,crontab,anacron)Linux指令碼
- 在 Linux 中執行.sh 指令碼 No such file or directoryLinux指令碼
- Linux上執行記憶體中的指令碼和程式Linux記憶體指令碼
- laravel:從linux命令列執行commandLaravelLinux命令列
- 在指令碼中呼叫git命令:指定git命令執行上下文指令碼Git
- 在shell中執行SQL*Plus命令SQL
- 在 Linux 命令列下使用“原力”Linux命令列
- Vs Code中執行vue命令顯示"系統禁止執行指令碼"無法在終端使用Vue指令碼
- 命令列執行Nunit命令列
- 如何在NotePad++中執行PHP程式碼?PHP
- linux中nginx下禁止某目錄執行php程式LinuxNginxPHP
- TortoiseSVN 命令 (命令列執行工具)命令列
- 寫一段java程式來執行linux命令JavaLinux
- php中的執行緒、程式和併發區別PHP執行緒
- 在 Linux 命令列中轉換大小寫Linux命令列