Tengo un montón de sistemas de punto de venta (POS) de clientes que periódicamente envían nuevos datos de ventas a una base de datos centralizada, que almacena los datos en una gran base de datos para la generación de informes.
El POS del cliente se basa en PHPPOS, y he implementado un módulo que utiliza la biblioteca estándar XML-RPC para enviar datos de ventas al servicio. El sistema del servidor se basa en CodeIgniter y utiliza las bibliotecas XML-RPC y XML-RPCS para el componente de servicio web. Cada vez que envío una gran cantidad de datos de ventas (tan solo 50 filas de la tabla de ventas y filas individuales de artículos de ventas pertenecientes a cada artículo dentro de la venta) aparece el siguiente error:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M es el valor predeterminado en php.ini
, pero supongo que es un gran número para romper. De hecho, incluso he intentado establecer este valor en 1024M, y todo lo que hace es tomar más tiempo para error.
En cuanto a los pasos que he tomado, he intentado deshabilitar todo el procesamiento en el lado del servidor, y lo he manipulado para que devuelva una respuesta fija independientemente de la entrada. Sin embargo, creo que el problema radica en el envío real de los datos. Incluso he intentado deshabilitar el tiempo máximo de ejecución de script para PHP, y todavía se produce un error.