|
很多人在linux下使用crontab實(shí)現(xiàn)php執(zhí)行定時(shí)任務(wù)卻未能成功,不能生成緩存。本文就linux下使用crontab實(shí)現(xiàn)定時(shí)php計(jì)劃任務(wù)失敗的原因做一分析。
一般我們linux定時(shí)執(zhí)行php代碼例如:
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/1.php
其實(shí)這樣是可以執(zhí)行php代碼的。
但是為什么很多朋友在1.php寫(xiě)的生成一個(gè)緩存文件沒(méi)有生成呢?
這個(gè)要涉及到crontab執(zhí)行php的相對(duì)路徑問(wèn)題.
注意在執(zhí)行文件中,有包含文件的,如:
include_once'./mysql.php';
當(dāng)php代碼中,用的是相對(duì)路徑時(shí),只有進(jìn)入到那個(gè)目錄下,
然后執(zhí)行/usr/local/php/bin/php /home/wwwroot/1.php 才能引用mysql.php生效。
解決方法如下:
*/10 * * * * cd /home/wwwroot && /usr/local/php/bin/php /home/wwwroot/1.php
同時(shí)也這樣緩存才能生成在 /home/wwwroot。此處需要特別注意!
這是大部分寫(xiě)的所謂linux定時(shí)執(zhí)行php沒(méi)有提到的,也最容易產(chǎn)生誤區(qū)的。
當(dāng)然方法還有很多,還可以設(shè)置環(huán)境變量之類(lèi)的。這個(gè)只是一個(gè)簡(jiǎn)單的方法。
php技術(shù):linux下使用crontab實(shí)現(xiàn)定時(shí)PHP計(jì)劃任務(wù)失敗的原因分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。