linux下如何執(zhí)行PHP腳本
Linux 下如何直接執(zhí)行 php 腳本娄周?
下面是部分 php 命令行參數(shù)。
用法
php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]}
-q 安靜模式泞辐,不輸出HTTP頭
-s 將php程序文件用轉(zhuǎn)化為彩色格式的HTML(比如保留字用綠色,函數(shù)和變量為藍(lán)色竞滓,注釋為黃色而字串則是紅色等等
-f 讀入并解釋指明的文件
-c 在中讀入php.ini文件
-a 交互式運行
-d foo[=bar] 定義ini中的輸入項 foo 的值為 bar
-e 輸出額外信息以便調(diào)試和性能分析
-z 調(diào)入Zend擴(kuò)展文件
-i php的相關(guān)信息
-h help
具體用法示例:
/usr/local/bin/php /home/script/test.php
//直接執(zhí)行 /home/script/test.php 文件
nohup /usr/local/bin/php /home/script/test.php > /home/script/result.log
//不掛斷(后臺)方式執(zhí)行 /home/script/test.php 文件铛碑,并將輸出結(jié)果重定向到 /home/script/result.log 文件
*/1 * * * * root -q /usr/local/bin/php /home/script/test.php
//每隔一分鐘執(zhí)行一次 /home/script/test.php 這個腳本
注:
(1)如果你不知道 php 執(zhí)行程序的目錄的話,可以直接輸入命令 where is php虽界,即可獲得 php.exe 目錄
(2)執(zhí)行命令之前需要將被執(zhí)行的文件變成可執(zhí)行的腳本文件汽烦。例如:chmod +x test.php
備注:
1.用php -q 文件名.php 方式把php程序當(dāng)shell程序來用,
2.用 -s把自己的php程序html化莉御。這樣是不是很省心撇吞?
3.利用php的odbc功能可以在shell命令中對數(shù)據(jù)庫進(jìn)行操作俗冻。
如何在命令行下運行PHP腳本[帶參數(shù)](linux)
關(guān)鍵字: 命令行下運行php
php -v 顯示PHP的版本
創(chuàng)建一個簡單的文本文件,其中包含有以下PHP代碼牍颈,并把它保存為hello.php:
<?php
echo "Hello from the CLI";
?>
現(xiàn)在迄薄,試著在命令行提示符下運行這個程序,方法是調(diào)用CLI可執(zhí)行文件并提供腳本的文件名:
php phphello.php
輸出Hello from the CLI
-----------------使用標(biāo)準(zhǔn)的輸入和輸出
你可以在自己的PHP腳本里使用這三個常量煮岁,以接受用戶的輸入讥蔽,或者顯示處理和計算的結(jié)果。要更好地理解這一點画机,可以看看下面的腳本(
列表A):
列表A
<?php
// ask for input
fwrite(STDOUT, "Enter your name: ");
// get input
$name = trim(fgets(STDIN));
// write input back
fwrite(STDOUT, "Hello, $name!");
?>
Look what happens when you run it:
shell> php hello.php
Enter your name: Joe
Hello, Joe!
在這個腳本里冶伞,fwrite()函數(shù)首先會向標(biāo)準(zhǔn)的輸出設(shè)備寫一條消息,詢問用戶的姓名步氏。然后它會把從標(biāo)準(zhǔn)輸入設(shè)備獲得的用戶輸入信息讀
取到一個PHP變量里响禽,并它把合并成為一個字符串。然后就用fwrite()把這個字符串打印輸出到標(biāo)準(zhǔn)的輸出設(shè)備上荚醒。
-----------------使用命令行自變量
在命令行里輸入程序參數(shù)來更改其運行方式是很常見的做法芋类。你也可以對CLI程序這樣做。PHP CLI帶有兩個特殊的變量界阁,專門用來達(dá)到這個
目的:一個是argc變量泡躯,它用來保存$argv數(shù)組里元素的
個數(shù)巫击。
用PHP腳本編寫一段讀取$argv并處理它所含參數(shù)的代碼是很簡單的。試試列表B里的示例腳本精续,看看它是如何工作的:
列表B
<?php
print_r($argv);
?>
Run this script by passing it some arbitrary values, and check the output:
shell> php phptest.php chocolate 276 "killer tie, dude!"
Array
( [0] => test.php
[1] => chocolate
[2] => 276
[3] => killer tie, dude!
)
正如你可以從輸出的結(jié)果看到的坝锰,傳遞給test.php的值會自動地作為數(shù)組元素出現(xiàn)在$argv里。**要注意的是重付,$argvis的第一個自變量總是
腳本自己的名稱顷级。**
下面是一個更加復(fù)雜的例子(列表C):
列表C
<?php
// check for all required arguments
// first argument is always name of script!
if ($argc != 4) {
die("Usage: book.php <check-in-date> <num-nights> <room-type> ");
}
// remove first argument
array_shift($argv);
// get and use remaining arguments
argv[0];
argv[1];
argv[2];
echo "You have requested a nights nights, checking in on $checkin. Thank you for your order! ";
?>
下面是其用法的示例:
shell> php phpbook.php 21/05/2005 7 single
You have requested a single room for 7 nights, checking in on 21/05/2005. Thank you for your order!
在這里,腳本首先會檢查$argc确垫,以確保自變量的數(shù)量符合要求弓颈。它然后會從$argv里提取出每一個自變量,把它們打印輸出到標(biāo)準(zhǔn)的輸出設(shè)備上删掀。