2

「セッション」コンポーネントとヘルパーを AppController.php に含めました。ここで$this->Session->write('App.testString', 'test);、セッションを使用すると、作成されないか、少なくとも作成時に文字列を受け取りませんecho $this->Session->read('App.testString');

セッションを機能させるために設定を変更する必要はありますか?


コントローラー関数内でセッションの書き込みと読み取りを行うことができますが、(同じコントローラーの) 別の関数内でセッションを読み取りたい場合、値が返されません。

4

1 に答える 1

7

私は解決策を見つけました: デフォルトでは、CakePHP は php.ini に設定されているフォルダーを使用します。私のホスティング環境では、このフォルダーにアクセスできませんでした (また、php.ini を変更することもできませんでした)。

この状況では、セッション ファイルが保存されているcore.phpを変更する必要があります。これは私が以前持っていたものです:

Configure::write('Session', array(
    'defaults' => 'php'
));

私はこれに変更しました:

Configure::write('Session', array(
    'defaults' => 'cake'
));

このように、cake は自分の tmp フォルダーを使用してセッション ファイルを保存します。また、tmp フォルダーとそのサブフォルダーが書き込み可能であることを確認してください。

于 2012-04-06T13:35:29.423 に答える