У меня есть несколько систем точек продаж (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
, но я предполагаю, что это огромное число, которое можно сломать. Фактически, я даже попытался установить это значение на 1024M, и все, что он делает, - это больше времени, чтобы исправить ошибку.
Что касается шагов, которые я предпринял, я попытался отключить всю обработку на стороне сервера и настроил его так, чтобы он возвращал стандартный ответ независимо от ввода. Однако я считаю, что проблема заключается в фактической отправке данных. Я даже попытался отключить максимальное время выполнения скрипта для PHP, но он все еще не работает.
ini_set('memory_limit', '256M');
- person   schedule 02.08.2013