Jeg har en række POS-systemer (point of sale) hos kunderne, som regelmæssigt sender nye salgsdata til en central database, som gemmer dataene i en stor database til rapportgenerering.
Klientens POS-system er baseret på PHPPOS, og jeg har implementeret et modul, der bruger standard XML-RPC-biblioteket til at sende salgsdata til tjenesten. Server-systemet er bygget på CodeIgniter, og bruger XML-RPC- og XML-RPCS-bibliotekerne til webservicekomponenten. Når jeg sender mange salgsdata (så lidt som 50 rækker fra salgstabellen og individuelle rækker fra sales_items vedrørende hver enkelt vare inden for salget) får jeg følgende fejl:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M er standardværdien i php.ini
, men jeg antager at det er et stort tal at bryde. Faktisk har jeg endda prøvet at indstille denne værdi til 1024M, og det eneste det gør er at tage længere tid til at fejlmelde.
Hvad angår de skridt jeg har taget, har jeg prøvet at deaktivere al behandling på serversiden, og har rigget den til at returnere et dåsesvar uanset input. Jeg tror dog, at problemet ligger i selve afsendelsen af dataene. Jeg har endda prøvet at deaktivere den maksimale scriptudførelsestid for PHP, men den giver stadig fejl.