我有一堆客户端销售点(POS)系统,它们定期将新的销售数据发送到一个集中式数据库,该数据库将数据存储到一个大数据库中以生成报告。
客户端POS基于PHPPOS,我实现了一个模块,该模块使用标准的XML-RPC库将销售数据发送到服务。服务器系统构建在CodeIgniter上,并使用XML-RPC和XML-RPCS库作为Web服务组件。每当我发送大量销售数据(销售表中只有50行,sales_items中与销售中的每个项目相关的单行)时,我都会得到以下错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M是php.ini
中的默认值,但我认为这是一个很大的数字。事实上,我甚至尝试将此值设置为1024M,它所做的只是需要更长的时间来出错。
至于我采取的步骤,我尝试禁用服务器端的所有处理,并将其设置为无论输入如何都返回预制响应。然而,我认为问题在于数据的实际发送。我甚至尝试禁用PHP的最大脚本执行时间,但它仍然出错。