php++每天执行一次,php – 如何每天执行一次查询并使用cron将结果输出到平面文件?...

我有一个PHP / MySQL网站,我想在主页上输出DB /表中的条目数,但我不希望每次用户点击主页时都进行此查询.我希望它每天自动运行一次并将查询结果输出到一个平面文件,然后我可以将其包含在内.我认为应该减少一些负荷.

我以前从未做过cron工作,也不熟悉Unix系统/命令.我的网站是一个拥有Plesk控制面板的ISP,我看到一个“crontab”部分,可以让我设置cron作业.

我不太确定要进入什么“命令”.我可以很好地制定查询,但不确定如何将结果输出到我可以通过PHP包含的平面文件.此外,理想情况下,平面文件将出现在Web根目录(与站点的其余部分)并且每天都会覆盖自己,我不想在年底使用365个平面文件.

解决方法:

您应该编写一个独立的PHP脚本来完成所有工作,并将它添加到您的crontab中,如下所示:

0 2 * * * cd /path/to/script; /usr/bin/php daily.php 1> output.txt 2> errors.log

每隔2点,您的daily.php脚本将运行,输出位于output.txt中,并且生成的任何错误(保持display_errors打开)将最终出现在errors.log中.与将查询直接放入cron相比,这有一些优点:

>您不需要将您的mysql连接详细信息放入cron

>如果需要,您可以包含任何网站的PHP包含文件

>您可以独立测试脚本,而无需等待cron运行它.

将数据包含在PHP页面中的最简单,最安全的方法可能是查询结果数组为serialize(),然后在需要时反序列化():

// daily.php

$data = array(

'rows_in_table_foo' => 2343, // replace this with a query result

'rows_in_table_bar' => 4321, // replace this with a query result

);

echo serialize($data);

exit 0;

……并阅读它……

// index.php

$data = unserialize(file_get_contents('output.txt'));

标签:php,mysql,cron

来源: https://codeday.me/bug/20190726/1548348.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值