20

次のエラーが表示されます。

Error: [CakeSessionException] Unable to configure the session, setting session.auto_start failed.

Cakephp 2.2.4 を使用しています。

編集

この男も同じ問題を抱えていたようです:ライブサイトでのCakephpセッションエラーとこれの使用

if(!isset($_SESSION)) session_start(); 

エラーを修正する内部beforefilterメソッド。AppController

だから私の質問は:なぜこれが起こったのですか?すべてが正常に機能していたのに、突然このエラーが表示されました。app/tmp/sessionsさらに、フォルダーが空であることに気付き、 Cake によって処理されるようにセッションを構成しました ( Config/core.php)。

4

5 に答える 5

28

Andriy Struk の答えは正しいです。彼は言った:つまり、3 つの主なオプションがあります: CakePHP をアップグレードするか、PHP をダウングレードするか、標準の PHP セッションを使用します。

しかし、4 番目のオプションが/lib/Cake/Model/Datasource/CakeSession.phpあります。1 行 (557 行目あたり)をコメントアウトするだけです。

// 'session.auto_start' => 0,

これにより、その設定での Cake の呼び出しが停止ini_set()し、致命的なエラーが回避されます。

于 2014-01-28T00:18:33.043 に答える
21

PHP バージョン 5.4.19 では、開発者は、ユーザー スクリプトから session.auto_start オプションを設定する機能を閉じました。

CakePHP は、2.4.0 バージョンでのみ、デフォルトのセッション設定からこのオプションを削除しました。

つまり、CakePHP をアップグレードするか、PHP をダウングレードするか、標準の php セッションを使用するかの 3 つの主なオプションがあります。

于 2013-10-21T12:54:08.227 に答える
8

Andriy's answer が言うように、CakePHP をアップグレードするか、PHP をダウングレードする必要があります。ただし、Cake のセッションではなく標準の PHP セッションを使用するように、Cake セッションを再構成する必要があります。

app/Config/core.php

Configure::write('Session', array(
    'defaults' => 'cake', // You need to change the value of this to 'php'
    'timeout' => 120,
    'cookieTimeout' => 20160,
    'checkAgent' => false 
));
于 2013-09-29T21:35:46.770 に答える