2016-07-29 11 views
0

Ich möchte BigML Model Objekt in Memcache speichern. Folgen Sie den nachstehenden Schritten.Google App Engine Serialisierung Problem

1- Serialisieren a bigML Modellobjekt

2- store das Serialisieren Zeichenfolge in memcache.

3- Fetch serialize Zeichenfolge aus Memcache.

4- die Zeichenfolge deserialisieren.

$local_model = new Model($latestModel, $api); 
$local_model_obj = serialize($local_model); 
$memcache->set('latest_model_object',$local_model_obj); 
$local_model = unserialize($local_model_obj); 

Hinweis: Serialisierung und Deserialisierung funktionieren auf meinem lokalen Server einwandfrei. und im Server wirft es unter Fehler.

unserialize(): Fehler bei in/Base 100 von 3726 Bytes versetzt ..

Screenshot: http://prnt.sc/byzzai

enter image description here

+1

Bitte posten Sie keine Texte als Bilder. Kopieren Sie sie stattdessen in Ihren Post. –

+0

Wenn Sie Objekte direkt in Memcache einfügen, werden sie automatisch serialisiert ... Versuchen Sie das? – Tom

Antwort

0

Vaishnavesh,

Dies könnte ein Problem mit unterschiedlichen Codierungs sein Versionen zwischen Ihrem lokalen Server und Remote-Servern. Wie auch immer, versuchen, wenn Codierung base64 zu überprüfen hilft:

$local_model_obj = base64_encode(serialize($local_model)); 
... 
$local_model = unserialize(base64_decode($local_model_obj)); 

prüfen diese andere Antwort: Change serialization functions in PHP for Memcached

+0

Ich habe das gleiche versucht, aber es funktioniert nicht. – Vaishnavesh

0
$local_model_obj = serialize($local_model); 
$specialChar = before ('ass"', after ('";O:8:"', $local_model_obj)); 
$local_model_obj = str_replace($specialChar, 'stdCl', $local_model_obj); 
$local_model = unserialize($local_model_obj); 

function after ($this, $inthat) 
{ 
    if (!is_bool(strpos($inthat, $this))) 
    return substr($inthat, strpos($inthat,$this)+strlen($this)); 
}; 
function before ($this, $inthat) 
{ 
    return substr($inthat, 0, strpos($inthat, $this)); 
}; 

Es funktioniert gut. aber ich denke, es ist kein gültiger Weg.