У мене є купа систем продажу клієнтів (POS), які періодично надсилають нові дані продажів в одну централізовану базу даних, яка зберігає дані в одну велику базу даних для формування звітів.
POS клієнта базується на PHPPOS, і я реалізував модуль, який використовує стандартну бібліотеку XML-RPC для надсилання даних про продаж в сервіс. Серверна система побудована на CodeIgniter і використовує бібліотеки XML-RPC та XML-RPCS для компонента веб-сервісу. Щоразу, коли я надсилаю багато даних про продажі (всього 50 рядків із таблиці продажів та окремих рядків з Sales_items, що стосуються кожного товару в рамках продажу), я отримую таку помилку:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M - це значення за замовчуванням у php.ini
, але я припускаю, що це величезна кількість, яку потрібно зламати. Насправді я навіть спробував встановити це значення у 1024М, і все, що він робить, потребує більш тривалого часу, щоб виправити помилки.
Щодо кроків, які я вжив, я намагався відключити всю обробку на стороні сервера і сфабрикував її, щоб повернути консервовану відповідь незалежно від вводу. Однак я вважаю, що проблема полягає у фактичному надсиланні даних. Я навіть намагався відключити максимальний час виконання скрипту для PHP, і він все ще помиляється.