2010-05-26 53 views
0

我有一個文件,它有一些多個動態參數。我想在主cron文件中寫入文件時發送這些參數。像這樣的東西 - >如何發送多個命令到cron中的文件?

*/15 * * * * /usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4 

現在,我想這個工作了,但我的文件不會被執行。 即時通訊關注的是,我的PHP文件將如何獲取這些參數? 當只有2個參數需要傳遞參數1和參數4時,我將如何寫入此命令? 以及我的cron和php將如何識別哪個參數適用於哪些數據和所有? 請指教!

回答

0
*/15 * * * * "/usr/bin/php /a/b/c.php parameter1 parameter2 parameter3 parameter4" 

也許......

,你也可以將它作爲查詢字符串? P1 = 123 & P2 = 432 & P3 = 456 腳本你可以做一個parse_string把它轉換成一個陣列內...

+0

但我怎麼能發送查詢字符串這種文件的調用:/家庭/ ABC/XYZ /ert.php ??? 查詢字符串可能在http://類型的url中,但我將如何將它寫入路徑格式? – developer 2010-05-26 09:11:56

+0

您無法通過命令行傳遞查詢字符串。 – Joseph 2010-05-26 15:27:17

+0

p1 = 123-p2:123 ...可能... – Tobias 2010-05-27 18:10:26

0

在這種情況下,它會與這些參數腳本陣列。你

還可以與內容的可執行文件:

#!/usr/bin/php 
<? 
    require('yourscript.php'); 

,並使其可執行文件chmod +x thisfile。只是不要將你的文件名傳遞給crontab中的php解釋器。

0

你需要着手做這個腳本的工作方式如下:

中設置的參數各自的查詢字符串cron的腳本。例如,設置p1=1234作爲參數1,等

在PHP腳本,您將需要引用$argv陣列來獲得傳遞的參數。

$ ARGV [1]將參數1,$ ARGV [ 2]是parameter2,依此類推。

您可以識別哪些參數是通過使用爆炸命令分開的鍵的值:

for($x=1; $x < $argc; $x++) { 
    list($key, $value) = explode('=', $argv[1]); 
    $paramarray[$key] = $value; 
} 
相關問題