2017-05-01 3 views
1

セッションを働いていないセッション</p> <p>表示エラーの下にはcodeignitorで作業していないcodeignitorに

enter image description here

当社のコンフィグコード

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = NULL; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 
+2

セッションライブラリをautoload.phpにロードしましたか? –

+1

はい、ちょうどこのようになります:$ autoload ['libraries'] = array( 'database'、 'email'、 'session'); –

+0

行 '$ config ['sess_save_path'] = NULL;'を削除するか、実際のサーバーパスに設定してください – splash58

答えて

1

問題は、この設定

であります
$config['sess_save_path'] = NULL; 

あなたが$config['sess_driver'] = 'files';を使用する場合は、それらのファイルは、CodeIgniterのindex.phpファイルの使用これと同じレベルである「セッション」という名前のフォルダになりたいならば、あなたは、例えば

$config['sess_save_path'] = 'the/absolute/path_to_your/session_files'; 

を必要としています。

$config['sess_save_path'] = FCPATH.'sessions/'; 

定数FCPATH CIのindex.phpが配置されているフォルダへの絶対パスです。通常、これはパブリックHTMLファイルのルートフォルダでもあります。 FCPATHは、Linuxでは/var/www/yoursitename/、WindowsではC:\Users\YourName\Documents\www\yoursitename\のようになります。

"public" htmlファイルの外にセッションフォルダを置くことは良いセキュリティポリシーと考えられます。つまり、FCPATHより上のディレクトリです。この場合、「セッション」フォルダはパブリックHTMLファイルと同じレベルにあります。設定はこれです。

$config['sess_save_path'] = substr(FCPATH, 0, strpos(FCPATH, 'www/'))."sessions/"); 

上記'www/'が公開(ルート)のhtmlフォルダの名前と同じにする必要があることに注意してください。

また、ファイルがそのフォルダへの書き込み権限が正しく設定されている必要があります。 documentationを参照してください。

関連する問題