2016-06-12 17 views
2

codeigniter 3のサイトをgodaddyにアップロードしようとしていますが、Session: Configured save path 'C:\Windows\Temp' is not writable by the PHP process.などのエラーメッセージが表示され続けます。codeigniter sess_driverとパス

私はthis質問とcodeigniterデータベースドライバhereを追ってきましたが、これまで何もありませんでした。

データベースにci_sessionsテーブルを作成し、ドライバをデータベースに設定し、パスをci_sessionsに設定しましたが、致命的なエラーが発生します。ドライバをファイルに設定し、作成したci_sessionsフォルダへのパスを設定しようとしましたが、それを見つけることができませんが、正しく作成したかどうかわかりません。

私は何ですか?間違っている?前もって感謝します。

[OK]を

UPDATEので、私はcodeigniter 3の新鮮なバージョンで開始し、ci_sessionsに、データベースとのパスにドライバを設定し、それは動作しますが、私はif(!empty($this->session->userdata("user_id"))を使用する場合には、任意のアイデアを致命的なエラーの原因は?あなたのセッションで

+0

$ config ['sess_save_path'] = 'ci_sessions'; –

+0

返信いただきありがとうございます。私はこれを試してみました。セッション:設定済みの保存パス 'ci_sessions'はPHPプロセスによって書き込み可能ではありません。 ' – Hides

+0

セッションライブラリを自動読み込みしましたか? – user4419336

答えて

5

パスを保存します

は、アプリケーションのフォルダを作成するフォルダに保存しようとしているように見えますが、データベース

にそれを置く必要がある場合ci_sessionsが0700

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = FCPATH . 'application/ci_sessions/'; 
$config['sess_match_ip'] = TRUE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

作ると呼ばれますMySQLデータベースの場合

$config['sess_driver'] = 'database'; // Change files to database 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = 'ci_sessions'; // This will be your database table for sessions 
$config['sess_match_ip'] = TRUE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

CREATE TABLE IF NOT EXISTS `ci_sessions` (
    `id` varchar(40) NOT NULL, 
    `ip_address` varchar(45) NOT NULL, 
    `timestamp` int(10) unsigned DEFAULT 0 NOT NULL, 
    `data` blob NOT NULL, 
    KEY `ci_sessions_timestamp` (`timestamp`) 
);