2017-09-26 3 views
0

私は認証を処理し、いくつかのセッション変数を設定する従来のアプリケーションを持っています。 Laravelアプリでセッション変数にアクセスする必要があります。私はセッションを開始しようとし、コントローラの変数の1つにアクセスしようとしましたが、これは機能しませんでした。私はおっとエラーを取得 - 未定義のインデックス:ここ
に名前を付けるには、私が試したものです:Laravel内のPHPネイティブセッション変数にアクセスする方法はありますか?

public function __construct() 
    { 
     session_start(); 
    } 

public function index()   
    { 
     //test output php (not Laravel) sessions 
     echo "TEST CONTROLLER ACCESSED!!\n\n"; 
     print_r($_SESSION['name']); 
    } 

私はまた、ルート内の閉鎖で同じ方法を試してみました。どちらも失敗しました。

Laravel内のPHPネイティブセッション変数にアクセスする方法はありますか?私は私の質問を理解していない

編集は重複としてマークされています。参照される答えは私が得るエラーに関するものです。それは私の質問に答えるものではありません。エラーが何を意味するのか理解しています。セッションがLaravelに利用できない理由を知る必要があります。

必要な追加情報をお知らせください。
編集2
$ _SESSION ['name']は従来のアプリには存在しますが、Laravelには渡されません。両方のアプリは同じサーバーとドメインにあります。トレースはどのように起こっているのですか?

+0

'dd($ _ SESSION)'でセッションのグローバルを調べてみてください。これにより、未処理のセッションデータの構造をより詳細に把握できます。 – Aknosis

+0

これでアクセスできます。 '$ _SESSION ['name']'が存在するかどうかをチェックするために 'if(isset($ _ SESSION ['name']))'を使ってください。 – ceejayoz

+0

@ceejayoz私の質問がどのように重複しているか説明してください。分かりません。 –

答えて

0

私は他人を助けることを期待してこれを投稿しています。

従来のアプリケーションでは、非標準のsession.save_path が使用されていることが判明しました(私は非常に大きなコードベースで作業しています。

ソリューションは、Laravelの同じ場所に保存パスを設定することでした。 ini_set('session.save_path', '/path/to/sessions/');

これは、従来PHPコマンドhere上の情報を参照してください

session_start()に行う必要があります。

関連する問題