本文分析了基於命令列執行帶參數的php腳本並取得參數的方法。分享給大家供大家參考,具體如下:
一、為什麼我們要在命令列下執行php腳本呢?
個人理解,主要有二個原因:
1. 利用crontab去跑php,可以給伺服器減壓,當然在這裡有一個條件,就是實時性要求不高。例如:sns中的好友動態,這個即時要求不高,但是資料量比較大,這時候定時跑的話,會給web伺服器,資料庫伺服器分擔不小的壓力。
2. 就是我們要定時去完成某一事情,例如:我要刪除一個月前,用戶留言,這個時候,寫的php腳本在crontab去執行,一天跑一次就行了。而不是手動去執行php程式。
二、命令列下執行帶參數php,並且取得參數
有一點很重要,就是命令列下執行php,是不走apache等這類東西的,沒有什麼http協議,所有get,post傳參數完全不起作用,還會報錯,如下:
zhangying@ubuntu:~$ php test.php?aaa=bbb Could not open input file: test.php?aaa=bbb
一般情況下,不需要向定時跑的php腳本傳參數,但有的時候,是要的。
1. test.php測試文件,很簡單吧
<?php print_r($argv); echo "\n"; echo $argc; echo "\n"; ?>
2. 命令列下呼叫
zhangying@ubuntu:~$ php test.php aaa ccc bbbb Array ( [0] => test.php //参数0,文件本身 [1] => aaa //参数1 [2] => ccc //参数2 [3] => bbbb //参数3 ) 4 //$argc的值,参数的总数
這種傳參