php解决crontab定时任务不能写入文件问题的方法分析

 更新时间:2019年09月16日 11:00:22   作者:koastal  
这篇文章主要介绍了php解决crontab定时任务不能写入文件问题的方法,结合实例形式分析了crontab定时任务无法正常执行的原因与解决方法,需要的朋友可以参考下

本文实例讲述了php解决crontab定时任务不能写入文件问题的方法。分享给大家供大家参考,具体如下:

今天使用crontab写的定时任务没有执行,很纳闷。

crontab.php

<?php
error_reporting(0);
$time = date("Y-m-d h:i:s",time());
file_put_contents($dir."/crontab.txt","[$time]\n",FILE_APPEND);

crontab -e

*/1 * * * * /opt/php/bin/php /var/www/koastal/crontab.php

我直接运行php命令也是可以的。

/opt/php/bin/php /var/www/koastal/crontab.php

然后我把写入文件的命令改成输出,然后存到一个文件里面就可以了。

crontab.php

<?php
error_reporting(0);
$time = date("Y-m-d h:i:s",time());
echo $time;

crontab -e

*/1 * * * * /opt/php/bin/php /var/www/koastal/crontab.php >> /var/www/koastal/log.txt

这说明crontab命令是正常的,php也只正常执行的,于是我开始怀疑人生。

网上查了查资料发现,原来是crontab命令的php是执行在cli模式下的,不能正确识别相对路径。

我之所以直接运行php命令没有报错是因为我设置了error_reporting(0);

所以我们给它绝对路径就好了,如下:

<?php
error_reporting(0);
$dir = __DIR__;
$time = date("Y-m-d h:i:s",time());
file_put_contents($dir."/crontab.txt","[$time]\n",FILE_APPEND);

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • 数据库查询记录php 多行多列显示

    数据库查询记录php 多行多列显示

    数据库查询记录多行多列显示,其实是用php生成符合table标准格式的代码,大家只要对table熟悉下,或实现画好,再生成出代码,即可。
    2009-08-08
  • PHP GD 图像处理组件的常用函数总结

    PHP GD 图像处理组件的常用函数总结

    如今,在互联网上,很多网站都要处理大量图片,比如:头像、上传的图片做缩略图加水印等等。他们需要服务端的大量图片处理,一门好的服务端语言环境一定要有对图像处理的支持。
    2010-04-04
  • php中的注释、变量、数组、常量、函数应用介绍

    php中的注释、变量、数组、常量、函数应用介绍

    本文将详细介绍php中的注释、变量、数组、常量、函数应用,需要的朋友可以参考下
    2012-11-11
  • 学习php过程中的一些注意点的总结

    学习php过程中的一些注意点的总结

    在学习php的过程中会有一些细节是需要注意的,本文整理了一些比较实际的问题,希望对大家有所帮助
    2013-10-10
  • 非常不错的MySQL优化的8条经验

    非常不错的MySQL优化的8条经验

    php开发中,一定要考虑mysql的执行效率,下面的文章,可以很好的尽量避免的一些问题,学习php人要掌握这也是高手与菜鸟的区别,不是能做出来就叫高手的
    2008-03-03
  • PHP数组生成XML格式数据的封装类实例

    PHP数组生成XML格式数据的封装类实例

    这篇文章主要介绍了PHP数组生成XML格式数据的封装类,结合完整实例形式分析了php针对数组的递归遍历与XML格式数据转换的相关操作技巧,需要的朋友可以参考下
    2016-11-11
  • php性能优化进阶不要在for循环中操作DB

    php性能优化进阶不要在for循环中操作DB

    这篇文章主要为大家介绍了php性能优化进阶不要在for循环中操作DB,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • php mysql_list_dbs()函数用法示例

    php mysql_list_dbs()函数用法示例

    这篇文章主要介绍了php mysql_list_dbs()函数用法,简单介绍了mysql_list_dbs()函数的功能及列出mysql所有数据库的实现技巧,需要的朋友可以参考下
    2017-03-03
  • PHP下判断网址是否有效的代码

    PHP下判断网址是否有效的代码

    判断一个url能否正常访问,避免使用file_get_contents时,因为url无法访问,而出现致命错误,终止程序的问题
    2011-10-10
  • PHP如何从txt文件中读取数据详解

    PHP如何从txt文件中读取数据详解

    这篇文章主要给大家介绍了关于PHP如何从txt文件中读取数据的相关资料,文中通过实例代码以及图文介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03

最新评论