PHP serileştirme düzgün çalışmadı mı

0 Cevap php

Ben gelişmekte ve PHP Sürüm 5.3.3-1ubuntu9.1 sürümünü kullanarak bir yerel makinedeki tüm test yapıyorum. Ana makine PHP Sürümü 5.2.15 olduğunu.

Bütün seriliaze bağımsız değişkenler aynıdır.

I aşağıdaki yok benim test yerel makinede kullanıcı giriş çalıştığınızda sorunlar olduğunu:

$user->getByUserId($results['id'], $db); 
$_SESSION['user'] = serialize($user);

hangi alınır ve kullanıcı serialize ve ben bir oturum var olduğunu algılamak zaman ben sadece geri yükleyin:

$user->LoadFromObject(unserialize($_SESSION['user']));

Bu benim test makinede mükemmel çalışır. Sadece ben bir beta sürümünü alabilirsiniz görmek için host dosyaları transfer ama ben almaya devam:

Warning: unserialize() expects parameter 1 to be string, object given in /home/gamerent/public_html/beta/includes/header.php on line 19

i her iki sistemde $_SESSION['user'] echo testi gerçekten bana tefrika birini gösterecektir ama ana bir bana nesneyi göstermek ve $user hale değil fark var.

GÜNCELLEME:

OK after some testing ..... i have seen that if i dump the session before initializing the user as

var_dump($_SESSION['user']);
$user = new User();
var_dump($_SESSION['user']);

it will display the session serialized correctly. Exactly after that it will display the String of the sessions

Benim kullanıcı varsayılan değerlerle bir şey excpet init'i yapmaz

function User() {
        $this->userId = 0;
        $this->firstname = "Guest";
        $this->password = "";
        include_once('includes/generalUtils.php');
        $this->generalUtils = new generalUtils();
        include_once('includes/utils.php');
        $this->utils = new utils();
    }

0 Cevap