0

0

做定时任务时,怎么解决服务器内存不够用啊?

php中文网

php中文网

发布时间:2016-06-06 20:10:06

|

1692人浏览过

|

来源于php中文网

原创

 
 ignore_user_abort(true);
 set_time_limit(0);
 
 $b = str_repeat(' ', 10000);
 
 $i = 0;
 
 ob_start();
 while (true) {
     sleep(1);
     file_put_contents('sf.txt', date('Y-m-d H:i:s') . $i . "\r\n", FILE_APPEND);
 
     echo $i,$b,'
'; ob_flush(); flush(); }
没想到几秒钟 Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 133437441 bytes) in /data/home/hyu1658240001/htdocs/a.php on line 16 就这样了 啊啊啊啊

我只是想做一个定时任务,不断的检测超时支付的订单,以实现自动关闭超时订单,为什么不行啊???

在线等大神指点啊,时间限制我已经取消了,是不是有个配置内存不受限制的啊?

回复内容:

 
 ignore_user_abort(true);
 set_time_limit(0);
 
 $b = str_repeat(' ', 10000);
 
 $i = 0;
 
 ob_start();
 while (true) {
     sleep(1);
     file_put_contents('sf.txt', date('Y-m-d H:i:s') . $i . "\r\n", FILE_APPEND);
 
     echo $i,$b,'
'; ob_flush(); flush(); }
没想到几秒钟 Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 133437441 bytes) in /data/home/hyu1658240001/htdocs/a.php on line 16 就这样了 啊啊啊啊

我只是想做一个定时任务,不断的检测超时支付的订单,以实现自动关闭超时订单,为什么不行啊???

在线等大神指点啊,时间限制我已经取消了,是不是有个配置内存不受限制的啊?

你没确定脚本有问题?

单独跑脚本确定没问题?

先确定脚本的问题吧。

报错误不一定是内存不够用,可能是你逻辑问题,给你多少内存都会崩。

你这是死循环 改其他方案

file_put_contents函数是一直占用内存的

用linux的定时任务去执行php脚本

使用sleep(2),将程序休息几秒钟

我用的oracle job 存储过程,只不过频率低. 或者在使用订单时条件触发.毕竟只有使用时才需要考虑是否有效

Symanto Text Insights
Symanto Text Insights

基于心理语言学分析的数据分析和用户洞察

下载

用nodejs来跑

了解到你的目的是:能够自动关闭超时未支付的订单

可以试着换个思路来解决:
把定时任务改为: 每次用户点击订单相关页面时,检测下是否有超时未支付的订单。如果有,则将它们关闭。

crontab

拆分放到任务队列执行

1.你需要把程序改成php-cli方式运行,即试用php命令来执行。例如:/usr/local/php/bin/php index.php
2.把脚本里面while循环更改掉,试用crontab来执行该脚本,当php脚本执行完后,整个php脚本的运行内存就被回收就不会出现内存溢出的问题了。

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号