2010-08-19 116 views
1

我們最近在我們的服務器上升級了我們的PHP和Apache版本。PHP 5.3.2和Zend Framework會話

在此之前,我們的會話能夠在子域之間無誤地繼續進行。

不幸的是,當我們進行升級時,它停止工作。

從我所看到的一切都是一樣的。

我試過 ini_set(「suhosin.session.cryptdocroot」,「Off」); ini_set(「suhosin.cookie.cryptdocroot」,「Off」);

但這並沒有奏效。

我已經在我的Bootstrap中將cookie_domain設置爲「.website.com」。

任何人有什麼想法可能已經改變,使這個偉大的影響!?

下面的代碼:

ini_set('session.use_cookies', 1); 
    ini_set('session.use_only_cookies', 1); 
    ini_set('session.cookie_domain', '.website.com'); 

    $db = Zend_Registry::get('db_global'); 
    $config = array(
     'name'   => '_sessions', 
     'primary'  => 'id', 
     'modifiedColumn' => 'modified', 
     'dataColumn'  => 'data', 
     'lifetimeColumn' => 'lifetime', 
     'customerIdColumn' => 'customer_id', 
     'db' => $db // db adapter 
    ); 

    //I tried it with the typical savehandler and got the same result of not working 
    Zend_Session::setSaveHandler(new Custom_Session_SaveHandler_DbTable($config)); 
    Zend_Session::start(); 
+0

我們的任何代碼?確保您在啓動會話之前使用Zend_Session設置cookie_domain – Ashley 2010-08-19 20:38:25

+0

更新了代碼,從我可以看到的情況看,我們沒有做任何錯誤,它似乎發生在我們升級PHP和Apache期間 – 2010-08-20 13:12:46

回答

1

可以爲cookie_domain配置Zend_Session組件,最好的地方就是你的引導:

Zend_Session::start(array('cookie_domain' => '.domain.com')); 

的其他的想法:新設置在php.ini like session.auto_start = true

+0

我們已經在引導程序中設置了會話信息 – 2010-08-20 13:13:16