前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用PHP来执行定时任务

用PHP来执行定时任务

作者头像
libo1106
发布2018-08-08 15:10:31
8660
发布2018-08-08 15:10:31
举报
文章被收录于专栏:Web 开发Web 开发

上个月有个需求,用PHP写了一个接口给SDK使用,原始数据使用MySQL进行记录。热数据用Redis进行+1的原子操作。每隔一定时间,由一个PHP脚本(姑且就命名为cron.php)把Redis中的数据取出,放入MySQL中,并销毁Redis中的数据。

计划总是美好,现实总是残酷。

cron.php通过浏览器访问,很正常,可以捕获到Redis中的数据,并顺利写入到MySQL中。

然而,通过crontab设置定时执行cron.php后,却总是出错。

Google之后发现,通过CLI模式运行PHP,有可能不加载php.ini文件。

我的PHP支持Redis操作,是通过给PHP外挂第三方库实现的,运行的时候,必须要加载php.ini,但是我安装PHP的时候,因为不是在干净的系统上装的,某些原因导致我运行PHP必须手动加载php.ini。

So,最终解决的方法就是:

/usr/local/php/bin/php -c /usr/local/php/lib/php.ini /usr/local/nginx/html/pj1/cron.php

执行PHP-CLI的时候,加上-c参数,手动加载php.ini文件即可。

PS:我没怎么研究过Shell,用php-cli也不错呀~~

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-07-182,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档