Database'e base64 olarak resim, gif vs. kaydedip okuyan basit bir sistemimiz var, database'e kaydettiğimiz verinin boyutu azken problem yok ancak 1-1.5 mb civarı olunca veriyi okurken hata veriyor, değer null dönüyor. Kodumuzun ilgili kısmı basitçe şu şekilde:
$version = Version::where(['id' => $id, 'user_id' => Auth::user()->id])->first();
$dataJson= $version->data;
$params1 = json_decode($version->data, true);
boyut fazlaysa params1 null oluyor, haliyle script'in geri kalan kısmı çalışmıyor. Laravel'de database'ten veri okumada bir limit var mıdır ya da başka ne sebeple böyle bir hata olabilir?
Bu arada database'ten baktık, kayıt etme kısmında bir problem yok. Database'te kaydedilmiş şekilde gözüküyor.
Laravel database problemi
2
●216
- 24-06-2019, 11:47:22merhaba @mapacarta;
aşağıdaki link sizin probleminizi çözeceğini düşünüyorum
https://laracasts.com/discuss/channe...ed-memory-size - 24-06-2019, 15:43:22Merhaba, teşekkürler.OpenBSD adlı üyeden alıntı: mesajı görüntüle
Çok az php biliyorum. Linkten anladığım kadarıyla memory limiti artırmayı denedim, bir değişiklik olmadı (zaten bir hayli yüksekti). Biraz daha kurcalayayım.
Biraz daha araştırdıktan sonra hatanın nereden kaynaklandığını netleştirebildim, json_encode()'dan null gelmesinin sebebi veritabanından gelen değerin valid bir json olmaması. Gelen veriyi inceledim, veritabanından okunan json çok uzun olduğunda belli bir kısımdan sonrasını kesiyor bu sebeple de yarım yamalak bir json olduğundan json_encode null çeviriyor. Veritabanındaki verinin belli bir uzunluktan sonrasını kesmesinin sebebi ne olabilir, bu veritabanı ile mi ilgili yoksa php'de istemeden yapılmış bir şey mi? Daha önce de dediğim gibi json veritabanına tam olarak olması gerektiği gibi kaydedilmiş, anladığım kadarıyla okuma kısmında bir problem var.
Edit: problem çözüldü https://github.com/laravel/framework/issues/1350