2016-11-24 32 views
2

我有一個網絡應用程序,在核心PhP。我們正在逐步將其移至CI框架Core Php&CodeIgniter之間的分享會話

問題:需要在它們之間共享會話值。

核心PHP應用導演結構:|-- /xampp/lms/
核心PHP程序URL:http://localhost/LMS/index.php

CI應用導演結構:|-- /xampp/lms/newlms/
CI程序URL:http://localhost/lms/newlms/index.php/login

CI配置:

config.php 

$config['sess_driver'] = 'database'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = 'ci_sessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

$config['cookie_prefix'] = ''; 
$config['cookie_domain'] = ''; 
$config['cookie_path']  = '/'; 
$config['cookie_secure'] = FALSE; 
$config['cookie_httponly'] = FALSE; 

我有什麼迄今所做。

核心PHP改變
路徑:\xampp\htdocs\lms\configuration.inc.php這是第一個被稱爲核心PHP文件

session_name('ci_session'); 
session_start(); 

echo '<pre>'; 
echo '<br/>------------- session_save_path-------- <br/>'; 
print_r(session_save_path()); 
echo '<br/>------------- session_name-------- <br/>'; 
print_r(session_name()); 
echo '<br/>------------- $_COOKIE -------- <br/>'; 
print_r($_COOKIE); 
echo '<br/>------------- $_SESSION -------- <br/>'; 
print_r($_SESSION); 
exit; 

輸出:

------------- session_save_path-------- 
\xampp\tmp 
------------- session_name-------- 
ci_session 
------------- $_COOKIE -------- 
Array (
    [ci_session] => 2b9tj8rek53kapgsuh4k3v2fuuvblvq9 
) 

------------- $_SESSION -------- 
Array (
    some values which I have set in Core php 
) 

會話路徑xampp\tmp\sess_2b9tj8rek53kapgsuh4k3v2fuuvblvq9

CI改變
路徑:\xampp\htdocs\lms\newlms\application\modules\login\controllers

Class Login extends MX_Controller { 

    function __construct() { 
    parent::__construct(); 
    } 

    function index() { 
echo '<pre>'; 
echo '<br/>------------- session_save_path-------- <br/>'; 
print_r(session_save_path()); 
echo '<br/>------------- session_name-------- <br/>'; 
print_r(session_name()); 
echo '<br/>------------- $_COOKIE -------- <br/>'; 
print_r($_COOKIE); 
echo '<br/>------------- $_SESSION -------- <br/>'; 
print_r($_SESSION); 
exit; 
    } 
} 

輸出:

------------- session_save_path-------- 
\xampp\tmp 
------------- session_name-------- 
ci_session 
------------- $_COOKIE -------- 
Array (
    [ci_session] => 2b9tj8rek53kapgsuh4k3v2fuuvblvq9 
) 

------------- Core $_SESSION -------- 
Array (
    [__ci_last_regenerate] => 1479978675 
) 

------------- CI $_SESSION -------- 
CI_Session Object (
.. Some values. 
) 

PS:我曾試圖解釋的最佳方式,但之前反對投票請分享原因。

+0

您使用的CI版本是什麼? CI的會話處理程序只是php會話處理程序的包裝器 – bertmaclin

+0

@bertmaclin CI的版本= 3.1.2 – Anon30

回答

0

至於建議的bertmaclin,

CI的會話處理程序僅僅是一個PHP的會話處理程序

有tweek CI的config.php文件&會議庫的包裝。

CI的config.php:之前base_url配置加入指定代碼。

session_start(); 

CI session.php文件:在會議庫線#142添加@前session_start()

@session_start();