2014-12-20 83 views
-1

我在兩臺不同的服務器上使用相同的代碼。實際上是從cakephp訪問cakephp會話。PHP會話名稱不起作用

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

if(!session_id()){ 
    session_name('CAKEPHP'); 
    session_start(); 
} 
print_r($_SESSION); 

在一臺服務器上,我得到了會話值。

哪裏另一個沒有顯示任何東西。

+0

你的代碼似乎很好。也許其他服務器有不同的會話名稱? – Eric

+0

你不覺得'session_start();'應該在'if'之外嗎?不知道你的情況。如果啓用了'session.auto_start',你也不會進入'if'條件。 – bansi

+0

'session_id'在會話未開始的情況下返回空字符串 – Deadooshka

回答

-2

我發現了這個問題。

在CakePHP core.php中是

Configure::write('Session', array(
    'defaults' => 'cake' 
)); 

我改變它到PHP

Configure::write('Session', array(
    'defaults' => 'php' 
)); 

和它的工作。

感謝您的時間夥計。

+0

您不鼓勵您使用比PHPPHP更易於使用的PHP函數 –