我目前在我的網站上爲每個頁面提供了以下代碼。請任何人都可以確認這是否是開始並繼續PHP會話的好習慣?快速高效的PHP會話
//************************************************************
//Session Settings
//************************************************************
$session_name = 'PHPSESSID';
$session_exp_time = 10000;
$previous_name = session_name($session_name);
//Set garbage collection parameters
ini_set('session.gc_maxlifetime', $session_exp_time);
ini_set('session.gc_probability', '1');
ini_set('session.gc_divisor', '100');
ini_set('session.name', $session_name);
ini_set('session.cookie_domain', ''); //Session set to not be available to subdomains
ini_set('session.cookie_lifetime', 0);
//Set the session cookie parameters
session_set_cookie_params($session_exp_time, '/', '');
//Start or continue a session...
@session_start();
if (isset($_COOKIE[$session_name]))
setcookie($session_name, $_COOKIE[$session_name], 2147483647, '');
請注意,該腳本包含在每個頁面中。
另一個相關的問題:
我應該設置一個自定義會話保存路徑,或者我應該只使用服務器的默認會話保存路徑?優缺點都有什麼?據我所知,如果您沒有設置自定義會話保存路徑,那麼您可能會在共享主機上發生某種衝突?請幫助指教。
在此先感謝!
你有權訪問服務器的php.ini嗎?還是它支持.htaccess文件?如果是這樣,那些ini條目中的許多可以去。 –
你也可以將它推入一個包含的php文件,所以你每次只包含文件而不是每次都包含所有的代碼。除非你已經這樣做了。並像@Jack說的PHP。ini或htaccess是您可以添加該代碼的其他地方。但是,如果您只是將其推入自己的PHP文件並在每個頁面上包含一次,那麼這也是一種很好的做法,您可以在1個文件中進行1次更改,並在引用該文件的任何位置自動更新。 – Danny