为了账号安全,请及时绑定邮箱和手机立即绑定

致命错误:允许内存大小为134217728字节耗尽(CodeIgniter+XMLRPC)

致命错误:允许内存大小为134217728字节耗尽(CodeIgniter+XMLRPC)

PHP
慕尼黑的夜晚无繁华 2019-06-09 14:04:39
致命错误:允许内存大小为134217728字节耗尽(CodeIgniter+XMLRPC)我有许多客户端销售点(POS)系统,定期将新的销售数据发送到一个集中式数据库,该数据库将数据存储到一个大型数据库中,以便生成报表。客户端POS基于PHPPOS,我实现了一个模块,该模块使用标准的XMLRPC库向服务发送销售数据。服务器系统构建在CodeIgniter上,使用XMLRPC和XMLRPC库作为webservice组件。每当我发送大量销售数据(从Sales表中发送50行数据,从Sales_Items中单独发送与Sales中每个项目相关的行)时,我都会得到以下错误:Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)中的默认值为128 m。php.ini,但我认为这是一个很大的数字要打破。事实上,我甚至尝试将这个值设置为1024M,而它所做的只是花费更长的时间来出错。至于我已经采取的步骤,我已经尝试禁用服务器端的所有处理,并已经操纵它返回一个屏蔽响应,而不管输入。然而,我相信问题在于数据的实际发送。我甚至尝试禁用PHP的最大脚本执行时间,但仍然出错。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

更改memory_limit通过ini_set('memory_limit', '-1');正确的解决办法。请不要那样做。

您的PHP代码可能在某个地方出现内存泄漏,您正在告诉服务器只使用它想要的所有内存。你根本不可能解决这个问题。如果您监视您的服务器,您将看到它现在可能正在消耗大部分RAM,甚至交换到磁盘。

您可能应该尝试跟踪代码中的违规代码并修复它。


查看完整回答
反对 回复 2019-06-09
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

ini_set('memory_limit', '-1');重写默认设置PHP内存限制.


查看完整回答
反对 回复 2019-06-09
  • 3 回答
  • 0 关注
  • 1006 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信