找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 78|回复: 0
打印 上一主题 下一主题

linux下使用crontab实现定时PHP计划任务失败的原因分析

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 05:56:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存。本文就linux下使用crontab实现定时PHP计划任务失败的原因做一分析。
一般我们linux定时执行php代码例如:
*/5 * * * * /usr/local/php/bin/php /home/wwwroot/1.php
其实这样是可以执行php代码的。
但是为什么很多朋友在1.php写的生成一个缓存文件没有生成呢?
这个要涉及到crontab执行php的相对路径问题.
注意在执行文件中,有包含文件的,如:
include_once'./mysql.php';
当php代码中,用的是相对路径时,只有进入到那个目录下,
然后执行/usr/local/php/bin/php /home/wwwroot/1.php 才能引用mysql.php生效。
解决方法如下:
*/10 * * * * cd /home/wwwroot && /usr/local/php/bin/php /home/wwwroot/1.php
同时也这样缓存才能生成在 /home/wwwroot。此处需要特别注意!
这是大部分写的所谓linux定时执行php没有提到的,也最容易产生误区的。
当然方法还有很多,还可以设置环境变量之类的。这个只是一个简单的方法。
            
            
您可能感兴趣的文章:
  • 如何使用Linux的Crontab定时执行PHP脚本的方法
  • MySQL定时备份之使用Linux下的crontab定时备份实例
  • linux使用crontab实现PHP执行计划定时任务
  • 浅谈Linux配置定时,使用crontab -e与直接编辑/etc/crontab的区别
  • Linux crontab定时任务配置方法(详解)
  • 详解使用python crontab设置linux定时任务
  • linux使用find和crontab命令定期清理过期文件
  • Linux Crontab 介绍
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端