侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2022-06-30 星期四 / 0 评论 / 0 点赞 / 77 阅读 / 2419 字

本文实例讲述了php解决crontab定时任务不能写入文件问题的方法。分享给大家供大家参考,具体如下:今天使用crontab写的定时任务没有执行,很纳闷。crontab.php<phperror_reporting(0)

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

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

crontab.php

.
<?phperror_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

.
<?phperror_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);

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

.
<?phperror_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程序设计有所帮助。

广告 广告

评论区