新聞中心
PHP是一種廣泛使用的服務(wù)器端腳本語言,可以與各種后端數(shù)據(jù)庫進(jìn)行交互,生成動(dòng)態(tài)網(wǎng)頁內(nèi)容。PHP在Linux系統(tǒng)中非常流行,因?yàn)長inux是一種開放源代碼的操作系統(tǒng),可以免費(fèi)獲取,而且PHP語言也是開源的,不需要額外的費(fèi)用。除了在Web服務(wù)器中使用PHP之外,還可以在Linux命令行終端中使用PHP。這篇文章將向您介紹如何使用PHP命令行及其參數(shù),以及如何使用PHP腳本執(zhí)行各種任務(wù)。

站在用戶的角度思考問題,與客戶深入溝通,找到蒙自網(wǎng)站設(shè)計(jì)與蒙自網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋蒙自地區(qū)。
一、PHP命令行的基本用法
在Linux上打開命令行終端,鍵入”php”命令,即可使用PHP命令行。
例如,我們可以使用命令“php -v”在終端中查看所安裝的PHP版本:
“`
$ php -v
PHP 5.5.9-1ubuntu4.29 (cli) (built: Apr 20 2023 10:59:09)
“`
這將顯示您當(dāng)前PHP版本的信息。您還可以使用各種命令選項(xiàng)來控制PHP命令行的行為。
二、PHP命令行選項(xiàng)
以下是一些常用選項(xiàng)的示例:
1. -c:指定一個(gè)不同的php.ini配置文件。
“`
php -c /path/to/php.ini /path/to/script.php
“`
2. -f:指定要運(yùn)行的PHP文件的路徑。
“`
php -f /path/to/script.php
“`
3. -h:顯示PHP命令行的幫助信息。
“`
php -h
“`
4. -i:顯示PHP配置信息。
“`
php -i
“`
5. -r:允許直接在命令行中執(zhí)行PHP代碼。
“`
php -r ‘echo “Hello, World!\n”;’
“`
6. -s:允許從標(biāo)準(zhǔn)輸入讀取PHP代碼。
“`
php -r ‘echo fread(STDIN, 1024);’
“`
7. -d:在運(yùn)行時(shí)設(shè)置PHP配置參數(shù)。
“`
php -d max_execution_time=60 /path/to/script.php
“`
三、在PHP命令行中執(zhí)行PHP腳本
您可以使用PHP命令行在終端中執(zhí)行PHP腳本。腳本可以包含各種命令,例如連接到數(shù)據(jù)庫,發(fā)送電子郵件,讀取文件等。
例如,以下是一個(gè)簡單的PHP腳本,可以在用戶輸入時(shí)返回“Hello, World!”:
“`
$name = readline(‘Enter your name: ‘);
echo “Hello, $name!\n”;
?>
“`
要執(zhí)行該腳本,請(qǐng)從命令行鍵入:
“`
php /path/to/script.php
“`
您將被提示輸入您的名稱,并在輸入后看到一條信息。
四、在PHP命令行中使用不同的輸入輸出
默認(rèn)情況下,PHP命令行將從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),并將輸出發(fā)送到標(biāo)準(zhǔn)輸出。但是,在某些情況下,您可能需要使用不同的輸入和輸出源。
可以使用以下方法更改輸入輸出:
1. $file = fopen(‘input.txt’, ‘r’);
“`
$name = fgets($file);
echo “Hello, $name!\n”;
fclose($file);
?>
php /path/to/script.php
“`
2. $output = fopen(‘output.txt’, ‘w’);
“`
$name = readline(‘Enter your name: ‘);
fwrite($output, “Hello, $name!\n”);
fclose($output);
?>
php /path/to/script.php > output.txt
“`
五、結(jié)論
PHP命令行是在Linux系統(tǒng)中使用PHP的一種方便的方式。您可以使用PHP命令行來執(zhí)行各種任務(wù),例如讀取文件,發(fā)送電子郵件以及連接到數(shù)據(jù)庫。在本文中,我向您介紹了如何使用PHP命令行及其參數(shù),并演示了如何在PHP腳本中使用不同的輸入輸出源。現(xiàn)在您已經(jīng)了解了PHP命令行的基本知識(shí),希望您能夠嘗試使用它并創(chuàng)建出一個(gè)令人贊嘆的應(yīng)用程序。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
誰用了linux系統(tǒng)來寫php代碼的?說一下實(shí)現(xiàn)步驟,我是win7系統(tǒng),應(yīng)該怎么操作?
1)你的網(wǎng)站空間是否支持偽靜態(tài)? 這點(diǎn)很重要,不然一切都是白搭。你可以與空間的IDC商聯(lián)系一下,如果是自己的服務(wù)器,那就更好辦了,一般來說,空間都是支持偽靜態(tài)的。Apache服務(wù)器偽靜態(tài)相對(duì)簡單,直接在.htaccess文件中加入相應(yīng)偽靜態(tài)規(guī)則即可;而IIS服務(wù)器偽靜態(tài)的實(shí)現(xiàn),則需要加載Rewrite組件,然后配置httpd.ini文件。2)開啟DedeCms偽靜態(tài) a.后臺(tái)-系統(tǒng)參數(shù)-核心設(shè)置-是否使用偽靜態(tài):選擇“是”; b.如果你啟用了問答模塊,則后臺(tái)-系統(tǒng)參數(shù)-模塊設(shè)置-是否使用偽靜態(tài):選擇“是”; c.創(chuàng)建欄目或批量增加欄目時(shí),欄目列表選項(xiàng):唯敬選擇“使用動(dòng)態(tài)頁”;添加新文章時(shí),發(fā)布選項(xiàng):選擇“僅動(dòng)態(tài)瀏覽 ”。當(dāng)然,你也可以更改他們的模板,讓他們默認(rèn)就是這兩個(gè)值,一勞永逸。修改方法很簡單,稍懂些HTML基礎(chǔ)就行了,這里就不再累述了?! .如果你的網(wǎng)站已經(jīng)存在生成的靜態(tài)欄目或文章HTML,那么只需在后臺(tái)-系統(tǒng)-SQL命令行工具中執(zhí)行如下語句: update dede_arctype set isdefault=-1; update dede_archives set iake=-1; 其中,dede是你安裝時(shí)的數(shù)據(jù)表前綴,根據(jù)實(shí)際情況替換?! ∈聦?shí)上,開啟DedeCms偽靜態(tài)支持并不能完全在后臺(tái)配置,有很多地方還是需要手動(dòng)修改的,期望官方完善??棄鬌edeCms偽靜態(tài)方法 織夢DedeCms偽靜態(tài),涉及到PHP源碼的修改,你可以指祥慎借助Dreamweaver或是EditPlus一類編輯軟件來操作。下面說下織夢DedeCms全站偽靜態(tài)的實(shí)現(xiàn)方法,適用于V5.3以上版本。小拼的DedeCms偽靜態(tài)測試環(huán)境是Windows IIS6,舉一反三,Linux或其它服務(wù)器的偽靜態(tài)實(shí)現(xiàn)原理都是一樣的,只要搞清楚思路就行了。1)DedeCms首頁偽靜態(tài) 把站點(diǎn)根目錄下index.html刪除,以后不更新主頁HTML即可,當(dāng)然你也可以選擇不使用動(dòng)態(tài)首頁。2)DedeCms頻道列表頁文章頁偽靜態(tài) 主要通過修改GetFileName()、GetTypeUrl()這兩個(gè)函數(shù)實(shí)現(xiàn)。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打開/include/channelunit.func.php進(jìn)行修改。注意:DedeCms V5.7,此文件路徑更改了,你打開/include/helpers/channelunit.helper.php即可。 a.將GetFileName()中的如下代碼: //動(dòng)態(tài)文章 if($cfg_rewrite == ‘Y’) { return $GLOBALS.”/view-“.$aid.’-1.html’; }替換為 //動(dòng)態(tài)文章 if($cfg_rewrite == ‘Y’) { return “/archives/view-“.$aid.’-1.html’; }將文章頁默認(rèn)的/plus/view-1-1.html鏈接格式改為/archives/view-1-1.html,這個(gè)隨個(gè)人喜歡,不作更改也行。 b.將GetTypeUrl()中的如下代碼: //動(dòng)態(tài) $reurl = $GLOBALS.”/list.php?tid=”.$typeid;替換為 //動(dòng)態(tài) $reurl = “/category/list-“.$typeid.”.html”;這步必須修改,即讓你的頻道或是列表頁URL變更為/category/list-1.html形式。3)DedeCms列表分頁偽靜態(tài) 打開/include/arc.listview.class.php,找到獲取動(dòng)態(tài)的分頁列表宴桐GetPageListDM()函數(shù)末尾處: $plist = str_replace(‘.php?tid=’, ‘-‘, $plist);替換為 $plist = str_replace(‘plus’, ‘category’, $plist);//將默認(rèn)的plus替換成category $plist = str_replace(‘.php?tid=’, ‘-‘, $plist);將列表分頁默認(rèn)鏈接格式/plus/list-1-2-1.html修改為/category/list-1-2-1.html,這步也可以不作更改。4)DedeCms文章分頁偽靜態(tài) 打開/include/arc.archives.class.php,找到獲取動(dòng)態(tài)的分頁列表GetPagebreakDM()函數(shù)末尾片: $PageList = str_replace(“.php?aid=”,”-“,$PageList);替換為 $plist = str_replace(‘plus’, ‘a(chǎn)rchives’, $plist);//將默認(rèn)的plus替換成archives $PageList = str_replace(“.php?aid=”,”-“,$PageList);這步不作修改也可以,只是個(gè)人喜好問題。5)DedeCmsTAG標(biāo)簽偽靜態(tài) DedeCms默認(rèn)的TAG標(biāo)簽URL,形如/tags.php?/dedecms5.7/,非常之難看。打開/include/taglib/tag.lib.php,找到lib_tag()函數(shù)下的: $row = $cfg_cmsurl.”/tags.php?/”.urlencode($row).”/”;替換為 $row = $cfg_cmsurl.”/tags/”.urlencode($row).”/”;到這里,TAG標(biāo)簽URL中的“.php?”號(hào)就去掉了。6)DedeCms搜索偽靜態(tài) DedeCms搜索URL靜態(tài)化比較麻煩,附帶參數(shù)多不說,參數(shù)也可能變化,像搜索結(jié)果分頁的URL就特麻煩,偽靜態(tài)規(guī)則匹配復(fù)雜。隨州SEO就偷下懶,將搜索URL中“search.php?…”直接替換為“search.html?…”,至于“?”號(hào)之后的參數(shù)以任意字符進(jìn)行匹配?! ∫来未蜷_include文件夾下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找“search.php?”替換為“search.html?”即可。7)DedeCms問答偽靜態(tài) 問答模塊的偽靜態(tài)實(shí)現(xiàn)比較簡單,只要后臺(tái)開啟偽靜態(tài)支持即可,至于個(gè)別頁面,如ask目錄下的browser.php、question.php以及include目錄下的common.inc.php、functions.inc.php都需要簡單修改才可以匹配偽靜態(tài)規(guī)則。 注意一點(diǎn),DedeCms V5.7問答模塊整體升級(jí)了,之前的規(guī)則已經(jīng)不適用了,小拼以后會(huì)專門寫個(gè)教程供大家參考的。DedeCms偽靜態(tài)規(guī)則 依照上面的步驟修改完畢,接下來配置好你的偽靜態(tài)規(guī)則,DedeCms全站偽靜態(tài)就完美實(shí)現(xiàn)了。1)IIS偽靜態(tài) 打開httpd.ini文件,加入如下規(guī)則: #首頁偽靜態(tài)規(guī)則,如果不使用動(dòng)態(tài)首頁,請(qǐng)勿必刪除這一行,否則打開首頁會(huì)出現(xiàn)死循環(huán) RewriteRule ^(.*)/index\.html $1/index\.php #列表頁偽靜態(tài)規(guī)則 RewriteRule ^(.*)/category/list-(+)\.html $1/plus/list\.php\?tid=$2 RewriteRule ^(.*)/category/list-(+)-(+)-(+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 #文章頁偽靜態(tài)規(guī)則 RewriteRule ^(.*)/archives/view-(+)-(+)\.html $1/plus/view\.php\?arcID=$2&pageno=$3 #搜索偽靜態(tài)規(guī)則 RewriteRule ^(.*)/search\.html(?:(\?.*))* $1/search\.php?$2 #TAG標(biāo)簽偽靜態(tài)規(guī)則 RewriteRule ^(.*)/tags\.html $1/tags\.php RewriteRule ^(.*)/tags/(.*)(?:(\?.*))* $1/tags\.php\?\/$2 RewriteRule ^(.*)/tags/(.*)\/(?:(\?.*))* $1/tags\.php\?\/$2\/ RewriteRule ^(.*)/tags/(.*)\/()(?:(\?.*))* $1/tags\.php\?\/$2\/$3 RewriteRule ^(.*)/tags/(.*)\/()\/(?:(\?.*))* $1/tags\.php\?\/$2\/$3\/ #問答偽靜態(tài)規(guī)則,適用于DedeCmsV5.3-5.6版本,需要修改幾處程序 RewriteRule ^(.*)/post\.html $1/post\.php RewriteRule ^(.*)/type\.html $1/type\.php RewriteRule ^(.*)/question-(+)\.html $1/question\.php\?id=$2 RewriteRule ^(.*)/browser-1-(+)\.html $1/browser\.php\?tid=$2 RewriteRule ^(.*)/browser-2-(+)\.html $1/browser\.php\?tid2=$2 RewriteRule ^(.*)/browser-1-(+)-(+)\.html $1/browser\.php\?tid=$2&page=$3 RewriteRule ^(.*)/browser-2-(+)-(+)\.html $1/browser\.php\?tid2=$2&page=$3 RewriteRule ^(.*)/browser-(+)\.html $1/browser\.php\?lm=$2 RewriteRule ^(.*)/browser-1-(+)-(+)\.html $1/browser\.php\?tid=$2&lm=$3 RewriteRule ^(.*)/browser-2-(+)-(+)\.html $1/browser\.php\?tid2=$2&lm=$3 2)Apache偽靜態(tài) 打開.htaccess文件,加入如下規(guī)則: #提供部分規(guī)則作參考 RewriteRule ^category/list-(+)\.html$ /plus/list.php?tid=$1 RewriteRule ^category/list-(+)-(+)-(+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 RewriteRule ^archives/view-(+)-(+)\.html$ /plus/view.php?arcID=$1&pageno=$2
如何使用Linux的Crontab定時(shí)執(zhí)行PHP腳本的方法
一、在Crontab中使用PHP執(zhí)行腳本
就像在Crontab中調(diào)用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調(diào)用PHP腳本。
每一小時(shí)執(zhí)行迅頃myscript.php如下:
復(fù)制代碼 代碼如下:
# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php
/usr/local/bin/php為PHP程序的路徑。
二、在Crontab中使用URL執(zhí)行腳本
如果你的PHP腳本可以通過URL觸發(fā),你可以使用lynx或curl或wget來耐旅配置你的Crontab。
下面的例子是使用Lynx文本瀏覽器訪問URL來每小時(shí)執(zhí)行PHP腳本。Lynx文本瀏覽器默認(rèn)使用對(duì)話方式打開URL。但是,像下面的,我們?cè)趌ynx命令行中使用-dump選項(xiàng)來把URL的輸出轉(zhuǎn)換來標(biāo)準(zhǔn)輸出。
復(fù)制代碼 代碼如下:
00 * * * * lynx -dump
下面的例子是使用CURL訪問URL來每5分執(zhí)行PHP腳本。Curl默認(rèn)在標(biāo)準(zhǔn)輸出顯示輸出。昌昌凳使用”curl -o”選項(xiàng),你也可以把腳本的輸出轉(zhuǎn)儲(chǔ)到臨時(shí)文件。
復(fù)制代碼 代碼如下:
*/5 * * * * /usr/bin/curl -o temp.txt
下面的例子是使用WGET訪問URL來每10分執(zhí)行PHP腳本。-q選項(xiàng)表示安靜模式?!?O temp.txt”表示輸出會(huì)發(fā)送到臨時(shí)文件。
復(fù)制代碼 代碼如下:
*/10 * * * * /usr/bin/wget -q -O temp.txt
鍵入 crontab
-e 編輯crontab服務(wù)文件
Ubuntu中的linux-
安裝lynx包:apt-get isntall lynx
先寫ln.sh腳本:lynx
設(shè)置定時(shí):crontab -e
0 1 * * * bash /var/www/test/ln.sh
—
分為兩種情況:
之一種情況:你的php腳本中沒有引入其他PHP文件,也就是說沒有include,require_once等命令的PHP文件
* */1 * * * /usr/local/php/bin/php
/var/www/html/wwwroot/web/script.php (每緩乎一小時(shí)執(zhí)行一次script.php)
注意,這樣寫需要把PHP變成可執(zhí)行的腳本文件。在命令行下,腳本所在目錄
chmod +x script.php
注意:你的script.php文件中一定要在開始處加上: #!/usr/local/php/bin/php -q
,下面是一個(gè)完整的script.php文件代碼
/usr/local/php/bin/php的意思是:用/usr/local/php/bin/目錄中的php.exe文件來執(zhí)行
/var/www/html/wwwroot/web/script.php
第二種情況:你的php腳本中有引入其他PHP文件,也就是說有用到include,require_once命令的PHP文件(先寫shell腳本)
上面的方法有一個(gè)問題:當(dāng)script腳本中有include文件時(shí),腳本根本找不對(duì)PHP的路徑,php將會(huì)在/bin/local/php目錄下找文件,當(dāng)然找不到。
所以,遇見這種情況,按照下面的方法做:
在終端上輸入如下命令得到sh 和 lynx 程序的路徑:
whereis sh
whereis lynx
or
which sh
which lynx
隨便輸入一個(gè),其中便會(huì)返回你要的路徑。如果你的系統(tǒng)里沒有l(wèi)ynx,試試links,w3m,或者
links2,這些是其它的文本模型瀏覽器。這些瀏覽器將會(huì)運(yùn)行你的腳本。
然后你需要?jiǎng)?chuàng)建一個(gè)sh文件,用它來調(diào)用php文件,通過lynx。假設(shè)你的服務(wù)器已經(jīng)安裝了lynx,sh路徑為
/bin/sh,lynx路徑為 /usr/local/bin/lynx
#!/bin/sh
/usr/local/bin/lynx -source
注意感嘆號(hào)
把這個(gè)腳本保存為cron-lynx.sh
保存到一個(gè)你找得到的地方,比如:
你可以把它放在網(wǎng)站根目錄。
然后再創(chuàng)建一個(gè)script.php的文件。當(dāng)cron運(yùn)行的時(shí)候,將會(huì)通過lynx來調(diào)用它。這個(gè)文件可以通過瀏覽器來訪問。
然后編輯主機(jī)的crontab,像下面這樣。
*/1 * * * * root /bin/sh
/usr/www/yourdirectory/sh_scripts/cron-lynx.sh
在/bin/sh 和 /usr 間有空格。就這樣就設(shè)好了,還有一點(diǎn)要注意的是,你的sh文件和php文件都正確無誤。
===================================================================================
linux下的crontab服務(wù):
1、crontab 是用來讓使用者在固定時(shí)間或固定間隔執(zhí)行程序之用
在linux平臺(tái)上如果需要實(shí)現(xiàn)任務(wù)調(diào)度功能可以編寫cron腳本來實(shí)現(xiàn)。
以某一頻率執(zhí)行任務(wù)
linux缺省會(huì)啟動(dòng)crond進(jìn)程,crond進(jìn)程不需要用戶啟動(dòng)、關(guān)閉。
crond進(jìn)程負(fù)責(zé)讀取調(diào)度任務(wù)并執(zhí)行,用戶只需要將相應(yīng)的調(diào)度腳本寫入cron的調(diào)度配置文件中。
cron的調(diào)度文件有以下幾個(gè):
1.
crontab
2.
cron.d
3.
cron.daily
4.
cron.hourly
5.
cron.monthly
6.
cron.weekly
如果用的任務(wù)不是以hourly monthly weekly方式執(zhí)行,則可以將相應(yīng)的crontab寫入到crontab
或cron.d目錄中。
示例:
每隔一分鐘執(zhí)行一次腳本 /opt/bin/test-cron.sh
可以在cron.d新建腳本 echo-date.sh
內(nèi)容為
*/1 * * * * root /opt/bin/test-cron.sh
2、cron是一個(gè)linux下的定時(shí)執(zhí)行工具,可以在無需人工干預(yù)的情況下運(yùn)行作業(yè)。由于Cron
是Linux的內(nèi)置服務(wù),如果它不自動(dòng)起來,可以用以下的方法啟動(dòng)、關(guān)閉這個(gè)服務(wù):
/in/service crond start //啟動(dòng)服務(wù)
/in/service crond stop //關(guān)閉服務(wù)
/in/service crond restart //重啟服務(wù)
/in/service crond reload //重新載入配置
你也可以將這個(gè)服務(wù)在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)啟動(dòng):
在/etc/rc.d/rc.local這個(gè)腳本的末尾加上:
/in/service crond start
現(xiàn)在Cron這個(gè)服務(wù)已經(jīng)在進(jìn)程里面了,我們就可以用這個(gè)服務(wù)了
查看服務(wù)是否已經(jīng)運(yùn)行用 ps -ax | grep cron
3、crontab命令
查看該用戶下的crontab服務(wù)是否創(chuàng)建成功, 用 crontab -l
命令
命令 which php 查看linux下安裝的php的路徑
cron服務(wù)提供crontab命令來設(shè)定cron服務(wù)的,以下是這個(gè)命令的一些參數(shù)與說明:
crontab -u
//設(shè)定某個(gè)用戶的cron服務(wù),一般root用戶在執(zhí)行這個(gè)命令的時(shí)候需要此參數(shù)
crontab -l //列出某個(gè)用戶cron服務(wù)的詳細(xì)內(nèi)容
crontab -r //刪除沒個(gè)用戶的cron服務(wù)
crontab -e //編輯某個(gè)用戶的cron服務(wù)
比如說root查看自己的cron設(shè)置:crontab -u root -l
再例如,root想刪除fred的cron設(shè)置:crontab -u fred -r
在編輯cron服務(wù)時(shí),編輯的內(nèi)容有一些格式和約定,輸入:crontab -u root -e
進(jìn)入vi編輯模式,編輯的內(nèi)容一定要符合下面的格式:*/1 * * * * ls
>> /tmp/ls.txt
任務(wù)調(diào)度的crond常駐命令crond
是linux用來定期執(zhí)行程序的命令。當(dāng)安裝完成操作系統(tǒng)之后,默認(rèn)便會(huì)啟動(dòng)此
任務(wù)調(diào)度命令。crond命令每分鍾會(huì)定期檢查是否有要執(zhí)行的工作,如果有要執(zhí)行的工作便會(huì)自動(dòng)執(zhí)行該工作。
crontab命令選項(xiàng):
-u指定一個(gè)用戶
-l列出某個(gè)用戶的任務(wù)計(jì)劃
-r刪除某個(gè)用戶的任務(wù)
-e編輯某個(gè)用戶的任務(wù)
4、cron文件語法:
分
小時(shí)
日
月
星期
命令
0-59
0-23
1-31
command
(取值范圍,0表示周日一般一行對(duì)應(yīng)一個(gè)任務(wù))
記住幾個(gè)特殊符號(hào)的含義:
“*”代表取值范圍內(nèi)的數(shù)字,
“/”代表”每”,
“-”代表從某個(gè)數(shù)字到某個(gè)數(shù)字,
“,”分開幾個(gè)離散的數(shù)字
5、任務(wù)調(diào)度設(shè)置文件的寫法
可用crontab
-e命令來編輯,編輯的是/var/spool/cron下對(duì)應(yīng)用戶的cron文件,也可以直接修改/etc/crontab文件
具體格式如下:
Minute Hour Day Month Dayofweek
command
分鐘
小時(shí)
天
月
天每星期
命令
每個(gè)字段代表的含義如下:
Minute
每個(gè)小時(shí)的第幾分鐘執(zhí)行該任務(wù)
Hour
每天的第幾個(gè)小時(shí)執(zhí)行該任務(wù)
Day
每月的第幾天執(zhí)行該任務(wù)
Month
每年的第幾個(gè)月執(zhí)行該任務(wù)
DayOfWeek
每周的第幾天執(zhí)行該任務(wù)
Command
指定要執(zhí)行的程序
在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選
字段,可視需要決定。對(duì)于不指定的字段,要用“*”來填補(bǔ)其位置。
舉例如下:
*
*
*
*
ls
指定每小時(shí)的第5分鐘執(zhí)行一次ls命令
30
*
*
*
ls
指定每天的 5:30 執(zhí)行l(wèi)s命令
30
*
*
ls
指定每月8號(hào)的7:30分執(zhí)行l(wèi)s命令
30
6
*
ls
指定每年的6月8日5:30執(zhí)行l(wèi)s命令
30
*
*
0
ls
指定每星期日的6:30執(zhí)行l(wèi)s命令
以此類推,也可以用英文來表示,sun表示星期天,mon表示星期一等。>
30
3
10,20
*
*
ls
每月10號(hào)及20號(hào)的3:30執(zhí)行l(wèi)s命令
25
8-11
*
*
*
ls
每天8-11點(diǎn)的第25分鐘執(zhí)行l(wèi)s命令
*/15
*
*
*
*
ls
每15分鐘執(zhí)行一次ls命令
30
6
*/
*
*
ls
每個(gè)月中,每隔10天6:30執(zhí)行一次ls命令
每天7:50以root 身份執(zhí)行/etc/cron.daily目錄中的所有可執(zhí)行文件
50
*
*
*
root
run-parts
/etc/cron.daily
注:run-parts參數(shù)表示,執(zhí)行后面目錄中的所有可執(zhí)行文件。 >
6、 新增調(diào)度任務(wù)
新增調(diào)度任務(wù)可用兩種方法:
1)、在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤退出。
2)、直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)。
7、 查看調(diào)度任務(wù)
crontab -l //列出當(dāng)前的所有調(diào)度任務(wù)
crontab -l -u jp
//列出用戶jp的所有調(diào)度任務(wù)
8、 刪除任務(wù)調(diào)度工作
crontab -r //刪除所有任務(wù)調(diào)度工作
9、 任務(wù)調(diào)度執(zhí)行結(jié)果的轉(zhuǎn)向
例1:每天5:30執(zhí)行l(wèi)s命令,并把結(jié)果輸出到/jp/test文件中
30 5 * * * ls >/jp/test
2>&1
注:2>&1 表示執(zhí)行結(jié)果及錯(cuò)誤信息。
編輯/etc/crontab 文件配置cron
cron服務(wù)每分鐘不僅要讀一次/var/spool/cron內(nèi)的所有文件,還需要讀一次
/etc/crontab,因此我們配置這個(gè)文件也能運(yùn)用cron服務(wù)做一些事情。
用crontab配置是針對(duì)某個(gè)用戶的,而編輯/etc/crontab是針對(duì)系統(tǒng)的任務(wù)。此文件的文件格式是:
SHELL=/bin/bash
PATH=/in:/bin:/usr/in:/usr/bin
MAILTO=root //如果出現(xiàn)錯(cuò)誤,或者有數(shù)據(jù)輸出,數(shù)據(jù)作為郵件發(fā)給這個(gè)帳號(hào)
HOME=/ //使用者運(yùn)行的路徑,這里是根目錄
# run-parts
01
*
*
*
*
root run-parts
/etc/cron.hourly
//每小時(shí)執(zhí)行/etc/cron.hourly內(nèi)的腳本
4
*
*
*
root run-parts
/etc/cron.daily
//每天執(zhí)行/etc/cron.daily內(nèi)的腳本
22
4
*
*
0
root run-parts
/etc/cron.weekly
//每星期執(zhí)行 /etc/cron.weekly內(nèi)的腳本
42
4
1
*
*
root run-parts
/etc/cron.monthly
//每月去執(zhí)行/etc/cron.monthly內(nèi)的腳本
大家注意”run-parts”這個(gè)參數(shù)了,如果去掉這個(gè)參數(shù)的話,后面就可以寫要運(yùn)行的某個(gè)腳本名,而不是文件夾名了
例如:
1) 在命令行輸入: crontab -e 然后添加相應(yīng)的任務(wù),wq存盤退出。
2)直接編輯/etc/crontab 文件,即vi /etc/crontab,添加相應(yīng)的任務(wù)
* rm -rf /mnt/fb
一、在Crontab中使用PHP執(zhí)行腳本
#!/usr/local/bin/php -q 文件名
就像在Crontab中調(diào)用普通的shell腳本一樣(具體Crontab用法),使用PHP程序來調(diào)用PHP腳本。
每一小時(shí)執(zhí)行myscript.php如下:
# crontab -e
* * * * /usr/local/bin/php /home/john/myscript.php
/usr/local/bin/php為PHP程序的路徑。
二、在Crontab中使用URL執(zhí)行腳本
如果PHP腳本可以通過URL觸發(fā),可以使用lynx或curl或wget來配置Crontab。
下面的例子是使用Lynx文本瀏覽器訪問URL來每小時(shí)執(zhí)行PHP腳本。Lynx文本瀏覽器默認(rèn)使用對(duì)話方式打開URL。但是,像下面的,我們?cè)趌ynx命令行中使用-dump選項(xiàng)來把URL的輸出轉(zhuǎn)換來標(biāo)準(zhǔn)輸出。
* * * * lynx -dump IP/myscript.php
下面的例子是沖孝型使用CURL訪問URL來每5分執(zhí)行PHP腳本。Curl默認(rèn)在標(biāo)準(zhǔn)輸出顯示輸出散猜。使用”curl -o”選項(xiàng),也可以把腳本的輸出轉(zhuǎn)儲(chǔ)到臨時(shí)文件慎弊。
*/5 * * * * /usr/bin/curl -o temp.txt IP/myscript.php
下面的例子是使用WGET訪問URL來每10分執(zhí)行PHP腳本。-q選項(xiàng)表示安靜模式?!?O temp.txt”表示輸出會(huì)發(fā)送到臨時(shí)文件。
1:使用crontab -e 可以編輯定時(shí)命令,配合虧廳 curl可以運(yùn)行php頁面的腳本
2:
例如
01 * * * * curl site/yourweb.php?do=youaction
linux 使用php命令行參數(shù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 使用php命令行參數(shù),Linux下使用PHP命令行的參數(shù)詳解,誰用了linux系統(tǒng)來寫php代碼的?說一下實(shí)現(xiàn)步驟,我是win7系統(tǒng),應(yīng)該怎么操作?,如何使用Linux的Crontab定時(shí)執(zhí)行PHP腳本的方法的信息別忘了在本站進(jìn)行查找喔。
創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(tái)(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
文章標(biāo)題:Linux下使用PHP命令行的參數(shù)詳解(linux使用php命令行參數(shù))
文章來源:http://m.5511xx.com/article/copjshi.html


咨詢
建站咨詢
