Tôi có một loạt các hệ thống điểm bán hàng (POS) của khách hàng định kỳ gửi dữ liệu bán hàng mới đến một cơ sở dữ liệu tập trung, nơi lưu trữ dữ liệu vào một cơ sở dữ liệu lớn để tạo báo cáo.
POS khách hàng dựa trên PHPPOS và tôi đã triển khai một mô-đun sử dụng thư viện XML-RPC tiêu chuẩn để gửi dữ liệu bán hàng đến dịch vụ. Hệ thống máy chủ được xây dựng trên CodeIgniter và sử dụng các thư viện XML-RPC và XML-RPCS cho thành phần dịch vụ web. Bất cứ khi nào tôi gửi nhiều dữ liệu bán hàng (chỉ có 50 hàng từ bảng bán hàng và các hàng riêng lẻ từ sales_items liên quan đến từng mặt hàng trong bán hàng) tôi gặp phải lỗi sau:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M là giá trị mặc định php.ini
, nhưng tôi cho rằng đó là một con số khổng lồ cần phá vỡ. Trên thực tế, tôi thậm chí đã thử đặt giá trị này thành 1024M và tất cả những gì nó làm là mất nhiều thời gian hơn để báo lỗi.
Đối với các bước tôi đã thực hiện, tôi đã thử vô hiệu hóa tất cả quá trình xử lý ở phía máy chủ và đã gian lận để trả về phản hồi đóng hộp bất kể đầu vào là gì. Tuy nhiên, tôi tin rằng vấn đề nằm ở việc gửi dữ liệu thực tế. Tôi thậm chí đã thử vô hiệu hóa thời gian thực thi tập lệnh tối đa cho PHP và nó vẫn bị lỗi.