日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

php定时执行任务没有执行,linux中定时任务crontab中的php任务无法执行,求可能的原因...

發布時間:2024/10/5 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php定时执行任务没有执行,linux中定时任务crontab中的php任务无法执行,求可能的原因... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

等待被執行的test.php腳本,該腳本在本地環境可以執行,在linux上手動執行php test.php也可以執行

$name='./log/20161025.txt';

if(file_exists($name))

{

file_put_contents($name, '定時任務開始了');

}

執行 crontab -e 編輯定時任務

* * * * * /usr/bin/php /home/wwwroot/demo/test.php > /var/log/cron.log

我的嘗試:

執行ps -ef | grep cron,查看定時任務進程,可以看到一個進程,也就是說定時任務在運行,所以不存在定時任務沒有開啟的問題

執行/usr/sbin/service cron restart,重啟定時任務,cron.log中沒記錄,20161025.txt中也沒有內容

執行chomd +x test.php 增加權限,沒有效果

執行which php,返回/usr/bin/php php路徑沒錯

暫時找不到可能的原因,求高手思路

補充:

最后測試定時任務是可以執行的

$name=__DIR__.'/log/20161025.txt';

if(file_exists($name))

{

file_put_contents($name,date('Y-m-d H:i:s',time())."\r\n",FILE_APPEND);

}

用腳本的打印當前時間,這是每分鐘執行一次

php路徑沒錯,但是啟動定時任務時工作目錄不是你的php文件所在目錄,所以你的代碼要改下

$name=__DIR__.'/log/20161025.txt';

if(file_exists($name))

{

file_put_contents($name, '定時任務開始了');

}

感覺是路徑不對,php腳本里面的相對地址改成絕對路徑試試

PHP路徑沒錯,錯在PHP代碼里面的一些路徑,在寫命令行的程序時,盡量避免使用有依賴性的東西,比如相對目錄,

你這個錯就出在相對目錄上,你啟動crontab 去執行你的php腳本前,先手動執行一次,就知錯在哪里。

把你的相對路徑打印一下。一定不是你想像中的路徑。

你可以

locate 20161025.txt

,看下文件有沒有生成。

locate

前先

updatedb

確定一下你的權限問題 執行以下crontab -l確定你已經成功添加了定時任務

[DongYao$ 19:28]? $crontab -l

* * * * * /bin/echo `date` >> /var/log/test.log

You have mail in /var/mail/DongYao

[DongYao$ 19:39]? $

[root$ 19:37]? $tail -f /var/log/test.log

Mon Oct 24 19:38:00 CST 2016

Mon Oct 24 19:39:00 CST 2016

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php定时执行任务没有执行,linux中定时任务crontab中的php任务无法执行,求可能的原因...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。