Rapor oluşturma için verileri büyük bir veritabanında depolayan tek bir merkezi veritabanına periyodik olarak yeni satış verileri gönderen bir dizi müşteri satış noktası (POS) sistemim var.
İstemci POS PHPPOS dayanmaktadır ve hizmet satış verileri göndermek için standart XML-RPC kitaplığını kullanan bir modül uyguladık. Sunucu sistemi CodeIgniter üzerine kuruludur ve webservice bileşeni için XML-RPC ve XML-RPCS kitaplıklarını kullanır. Çok fazla satış verisi gönderdiğimde (satış tablosundan en az 50 satır ve satış içindeki her bir öğeyle ilgili satış_birimlerinden ayrı satırlar) aşağıdaki hatayı alıyorum:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
128M varsayılan değerdir php.ini
, ancak bunun çok büyük bir sayı olduğunu varsayıyorum. Aslında, bu değeri 1024M'ye ayarlamayı bile denedim ve tüm yaptığı hata yapmak için daha uzun zaman alıyor.
Attığım adımlara gelince, sunucu tarafındaki tüm işlemleri devre dışı bırakmayı denedim ve girişe bakılmaksızın hazır bir yanıt döndürmek için ayarladım. Ancak, sorunun verilerin gerçek gönderilmesinden kaynaklandığına inanıyorum. Hatta PHP için maksimum komut dosyası yürütme süresini devre dışı bırakmayı denedim ve hala hata veriyor.