【发布时间】:2012-05-12 05:18:49
【问题描述】:
我目前在我的网站上的每个页面都有以下代码。请任何人确认这是否是开始和继续 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 次更改,并且它会在引用该文件的所有位置自动更新。
标签: php performance session