在 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 -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『 來關閉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_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,它就會丟失了。
⑵ 在php.ini中設置哪個參數來指定可以打開文件的目錄
在PHP中,可以通過設置open_basedir參數來限制訪問文件的目錄。該參數指侍褲定了一個目錄列表,PHP腳本只能鉛陸訪問其中的目錄,而不能訪問其他目錄。
要設置open_basedir參數,可以在php.ini配置文件中添加以下行:
open_basedir = "/path/to/allowed/directory:/another/allowed/directory"
其中,/path/槐談頃to/allowed/directory和/another/allowed/directory是兩個允許訪問的目錄路徑,多個路徑可以用冒號(:)分隔。如果要允許訪問所有目錄,則可以將該參數設置為空字元串:
open_basedir =
注意,修改php.ini配置文件後需要重啟Web伺服器才能生效。
⑶ bat腳本 如何調用 php並傳參
直接在調用行後面寫參數
php.exe script_file.php 參數1 參數2 參數3
在script_file.php中
$argv數組中
$argv[0]的值是script_file.php
$argv[1]的值是參數1
$argv[2]的值是參數2
⑷ DEVC++如何使用命令行,為命令行參數賦值
看著像c語言[doge]
懶得起名,源文件就 未命名2.cpp[doge]
編譯完擱命令行,先輸入可執行文件目錄,然後一個空格,後面的參數之間也是空格隔開
總結:用手賦值[doge]