Minulla on joukko asiakkaiden myyntipistejärjestelmiä (POS), jotka lähettävät säännöllisesti uusia myyntitietoja yhteen keskitettyyn tietokantaan, joka tallentaa tiedot yhteen suureen tietokantaan raporttien tuottamista varten.
Asiakaskassa perustuu PHPPOS-järjestelmään, ja olen toteuttanut moduulin, joka käyttää standardia XML-RPC-kirjastoa myyntitietojen lähettämiseen palveluun. Palvelinjärjestelmä on rakennettu CodeIgniteriin, ja siinä käytetään XML-RPC- ja XML-RPCS-kirjastoja verkkopalvelukomponenttia varten. Aina kun lähetän paljon myyntitietoja (vain 50 riviä myyntitaulukosta ja yksittäisiä rivejä sales_items-taulukosta, jotka koskevat kutakin myyntiin kuuluvaa tuotetta), saan seuraavan virheen:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M on oletusarvo php.ini
:ssä, mutta oletan, että se on valtava luku, joka rikkoutuu. Itse asiassa olen jopa yrittänyt asettaa tämän arvon 1024M:ksi, ja virheiden poistuminen kestää vain kauemmin.
Mitä tulee toimenpiteisiin, joita olen toteuttanut, olen yrittänyt poistaa käytöstä kaiken käsittelyn palvelinpuolella, ja olen laittanut sen palauttamaan purkitetun vastauksen syötteestä riippumatta. Uskon kuitenkin, että ongelma on tietojen lähettämisessä. Olen jopa yrittänyt poistaa PHP:n skriptin enimmäiskäyttöajan käytöstä, mutta se antaa edelleen virheitä.