2017-08-18 15 views
0

codeigniterバージョン3.0.6PHP 5.6で動作しています。 PHP 7.1で同じプロジェクトを実行すると、codeigniterセッションが機能しません。私はそれがPHP 7CodeigniterセッションがPHP 7で動作していません

+1

https://stackoverflow.com/questions/43718961/codeigniter-3-session-not-working-with-php-7-1-4 –

+0

バグの問題を確認しましたか? https:// github。com/bcit-ci/CodeIgniter/issues/4830 –

+0

解決策の確認は次のとおりです。http://www.jianshu.com/p/4bf22c8af19d –

答えて

0

に空白になって$ login_sessionを印刷するとき、私は問題はCodeIgniterの3のいくつかの以前のバージョンであることを発見し、これはすでに報告バグです

$login_session = $this->session->set_userdata("user_session",$session_data); 

以下のようにセッションを設定します彼らのウェブサイト。バグは修正されており、Codeigniter 3の最新バージョンではこの問題は発生しません。

すでに障害のあるバージョンになっている場合は、システムフォルダを最新のバージョンに置き換えることを検討してください。この回答here

+0

これは答えをコピーして上記のスレッドで与えられています。なぜあなたはURLを与える代わりにこれをコピーしていますか? –

+0

ウェブサイトの記事を利用できない可能性があるためです。 – manix

0

は問題があなたのPHPのバージョンからある発見

は、PHP 7.1は本当に安定していない、とのセッションの問題をたくさん持っています。 PHPのバージョンを7.0に変更すると、セッションが自動的に開始されます。

+0

私は最近、php5.6からphp7.1に切り替えていた –

+0

を親切に説明します。セッションが直ちに停止しました。この提案は私のために働いた唯一のものです。 codeigniter coreを再インストールして、セッションの設定を確認しても役に立たなかった。しかし、私はいくつかのバージョンのPHPを利用しています。私が7.1から7.0に切り替えたとき、私のセッションは再び働きました。 –

0

フォルダのパーミッション0700を設定し、パス

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = APPPATH . 'cache/session/'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

セッションの保存を設定していることを確認してくださいあなたは

$autoload['libraries'] = array('session'); 
がどのようにセッション

$session = array('islogged' => true, 'user_id' => '1'); 

$this->session->set_userdata($session); 
を設定したい場合は

オートロードセッション

ユーザーデータを1つの例として取得する

echo $this->session->userdata('user_id'); 

if (!$this->session->userdata('islogged')) { 
    redirect('logout'); 
} 
0

私はこれらの手順を踏んでこれを乗り越えることができました。

1)//を追加することにより、session_start()コメントsession_start()検索)system/libraries/Session/Session.php

2に移動します。

3)312の周りにライン(またはSecurity is kingを検索)し、すべてのini_set()

ini_set('session.use_trans_sid', 0); 
ini_set('session.use_strict_mode', 1); 
ini_set('session.use_cookies', 1); 
ini_set('session.use_only_cookies', 1); 
ini_set('session.hash_function', 1); 
ini_set('session.hash_bits_per_character', 4); 

4)次に、あなたのメインのindex.phpに行く(ルートのindex.php)

をコメントアウトに下ります5)上部にsession_start()を追加します。それだSession.php

ini_set('session.use_trans_sid', 0); 
ini_set('session.use_strict_mode', 1); 
ini_set('session.use_cookies', 1); 
ini_set('session.use_only_cookies', 1); 
ini_set('session.hash_function', 1); 
ini_set('session.hash_bits_per_character', 4); 

にコメント行以下session_start()追加するには、以下

6)。

関連する問題