PHP unserialize 100 kere aynı hata atma tutar

4 Cevap php

Yani büyük bir 2d i seri dizisi ve base64_encode var ve bir veritabanına atmak. Farklı bir sayfada ben dışarı dizi çekin ve tefrika dizi base64_decode zaman ben dışarı yankı ve kesinlikle geçerli görünüyor.

I (base64_decode ($ serializedArray)) nesneleştirmek çalışırsanız, ancak sadece yaklaşık firefox çökmesini noktasına aynı hata atar.

Hata:

Uyarı: unserialize () [function.unserialize]: Düğüm artık on line / var / www / dev / wc_paul / inc / analyzerTester.php var 24

Ben dışarı yankı ama bu form üzerinde denedim son kez benim firefox çöktü tüm tefrika dizi içerir.

Bu oluyor olabilir neden kimse herhangi bir fikrin var mı?

Teşekkürler.

4 Cevap

Eğer sadece kaynaklar gibi bir nesne (örneğin DOMNode?) Bir dizi serileştirip emin misin, değil tüm sınıflar dizgilenmemiş ile mutlu olacak. (Hata benim sizinle çalışıyoruz önerir) DOM ile bir örnek olarak, her düğüm ParentNode bir başvuru vardır ve parentNode bir düğüm dizgilenmemiş ediliyor şu anda yoksa, bu mümkün değil Bu başvuru yeniden ve sorunlar doğmak.

Ben veritabanına XML olarak dom ağaç tasarrufu ve daha sonra geri yükleme öneririz.

Veritabanı alan tefrika dizi tutmak için yeterince büyük olduğundan emin olun. Tefrika verileri (MySQL gibi) very PHP verimsiz uzay ve birçok DBs olduğunu sessizce çok uzun alan değerleri keser.

Dizinizde elemanların hangi tip? serialize / unserialize çalışmaz PHP nesneleri yerleşik ve genellikle bu hata nedenidir.

Ayrıca, Yorumlarınız dayanarak bu senin sorunun değil, ancak veritabanında yer kazanmak için sadece kaçmak, base64 kodlamak veri yok. yani mysql kullanım mysql_real_escape_string için.

Eğer kaynak serialize yok emin olun, onlar getirilemez.

Resources@php.net