Ho un sacco di sistemi client point of sale (POS) che inviano periodicamente nuovi dati di vendita a un database centralizzato, che memorizza i dati in un grande database per la generazione di report.
Il POS client si basa su PHPPOS e ho implementato un modulo che utilizza la libreria XML-RPC standard per inviare i dati di vendita al servizio. Il sistema server è basato su CodeIgniter e utilizza le librerie XML-RPC e XML-RPCS per il componente webservice. Ogni volta che invio molti dati sulle vendite (fino a 50 righe dalla tabella delle vendite e singole righe dagli articoli sales relativi a ciascun articolo all'interno della vendita) ricevo il seguente errore:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M è il valore predefinito in php.ini
, ma presumo che sia un numero enorme da interrompere. In effetti, ho anche provato a impostare questo valore su 1024M, e tutto ciò che serve è impiegare più tempo a errori.
Per quanto riguarda i passaggi che ho fatto, ho provato a disabilitare tutta l'elaborazione sul lato server e l'ho truccato per restituire una risposta predefinita indipendentemente dall'input. Tuttavia, credo che il problema risieda nell'effettivo invio dei dati. Ho anche provato a disabilitare il tempo massimo di esecuzione dello script per PHP, e continua a fuoriuscire.