PHP Session下一页调用null

时间:2013-12-16 13:36:47

标签: php session null

ich有一个大问题。我在Apache(Arch Linux)上开发了一个本地PHP项目,在线PHP将Session键设置为null。我使用Class :: serialize和Class :: unserialize在会话中保存对象。这就是我的PHP代码,用于此功能:

public function serialize() {
    $data = new \stdClass();
    $data->content = $this->content;
    $data->key = $this->key;
    $data->file = $this->file;

    return serialize($data);
}
public function unserialize($data) {
    $data = unserialize($data);

    $this->content = $data->content;
    $this->key = $data->key;
    $this->file = $data->file;
    $this->crypt = new \Kryptomat\Crypt\Mcrypt($this->key);
}

我的PHP.ini:

session

Session Support enabled
Registered save handlers    files user
Registered serializer handlers  php_serialize php php_binary

Directive   Local Value Master Value
session.auto_start  Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    /dev/urandom    /dev/urandom
session.entropy_length  32  32
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   no value    no value
session.serialize_handler   php php
session.upload_progress.cleanup On  On
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_    upload_progress_
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_strict_mode Off Off
session.use_trans_sid   0   0

这是服务器PHP.ini:

session

Session Support enabled
Registered save handlers    files user
Registered serializer handlers  php php_binary wddx

Directive   Local Value Master Value
session.auto_start  Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly Off Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  100 100
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 4   4
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /tmp    /tmp
session.serialize_handler   php php
session.upload_progress.cleanup On  On
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_    upload_progress_
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   1   1

1 个答案:

答案 0 :(得分:0)

正在开始会话? 开始会话呼叫session_start();

在序列化后,您没有在会话中保存数据使用$_SESSION['data'] = $data;

保存会话中的数据

然后,您可以通过$_SESSION['data']检索此数据。之后使用unserialize函数取消序列化对象。

希望它会对你有所帮助。