2011-01-05 9 views
1

どこでデフォルトセッションの有効期限をWebsiteBakerに設定できますか?これは、デフォルトで10MINSで破棄されます。私は開発期間中にさらに分/時間を設定し、後でデフォルトまたはx MINSに変更したいと考えています。セッションが期限切れのウェブサイトでベーカー

ご返信をお待ちしております。私はウェブサイトのパン屋について何を知っているので、セッションが開始された場所を見つけることはありません

おかげ

+0

ドキュメントには何も書かれていません。ここでは、そのCMSを使用する多くのコーダーを見つけることはできません。たぶんあなたのコードベースを検索するか、[wsbaker-forumで]質問してください。(http://www.websitebaker2.org/forum/) – erikbwork

答えて

0

(のsession_startためのすべてのファイルをあなたのしているプロジェクトの検索で();)、その行の前にあなたが使用することができます。

//first parameter expects the number of seconds session cookie should be kept by the 
//browser , in our case 10 seconds 
session_set_cookie_params(10); 

それとものルートにある別のオプションは、Webサイトのベーカーアプリ(のindex.php)はその行を追加し、あなたが行く準備する必要があります。

注:セッションクッキーがブラウザによって破棄された場合、session_start();を呼び出すとphpは別のセッションIDを発行するため、phpスクリプトのように最後のセッションがまだ生きている/アクティブであるとはみなされません$_SESSIONが空になります。あなたはディスクにセッションを保存する場合にガベージコレクタによって以前のセッションが削除されるように、ini_set('session.gc-maxlifetime', 10);を設定することができます。

+0

['session_cache_expire'](http://php.net/session_cache_expire)のみですHTTPキャッシュ用。 – Gumbo

+0

は、ヘッドアップのおかげで答えを更新しました。 –

+0

* session.gb \ _maxlifetime *は必ずしも良いとは限りません(http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes/1270960#1270960を参照) 。 – Gumbo

0

あなたは自分でそれを変更していないと思いますが(そうでなければ、あなたはそれをやったことを思い出すでしょう)、10分は奇妙なデフォルト値のようです。私はあなたが共有サーバーであなたのアプリケーションをホストしていると言うだろう、セッションのデータは、デフォルトの共有場所に格納されていると、他の顧客からより低いセッションの生活時間を設定している他のアプリがあります。この問題は、セッションデータがサイトを認識しないために発生します.POPガベージコレクタが10分以内にアクセスされなかったセッションファイルを削除すると、ディレクトリ内のすべてのファイルが削除されます。彼らがどのウェブサイトに属しているかを知る方法がありません。

WebsiteBakerで修正する方法はわかりませんが、通常のPHPではアカウント内にカスタムセッションディレクトリを設定する必要があります。次に、(だけにして)あなた自身のセッションデータを完全に制御する必要があります:

session_save_path('/home/users/foo/sessions'); 
ini_set('session.gc_maxlifetime', 3*60*60); // 3 hours (or whatever you need) 
ini_set('session.gc_probability', 1); 
ini_set('session.gc_divisor', 100); 
session_start(); 
1

Websitebaker少なくとも現在の2.8.2バージョンとupcomming 2.8.3バージョンは完全にセッションの存続のためのサーバーの設定に依存しています。

あなたが別のセッションの設定をしたい場合は、直前のconfig.phpに設定を追加することができます:あなたのサーバーは、スクリプトで上書きを許可する場合にのみ機能します

require_once(WB_PATH.'/framework/initialize.php'); 

もう1つの方法は、.htaccessファイルを使用するか、サーバーの設定を変更することです。

関連する問題