我在共享主机上,出于安全原因禁用了ini_set功能。我正在尝试在此主机上部署CakePHP 2.4.1。新鲜蛋糕安装结果为空白页面,没有显示错误,相反,如果我评论这些行:
\ lib中\蛋糕\模型\数据源\ CakeSession.php
if (empty($_SESSION)) {
if (!empty($sessionConfig['ini']) && is_array($sessionConfig['ini'])) {
foreach ($sessionConfig['ini'] as $setting => $value) {
if (ini_set($setting, $value) === false) {
throw new CakeSessionException(__d('cake_dev', 'Unable to configure the session, setting %s failed.', $setting));
}
}
}
}
一切似乎都很好。现在,我问的是保持这些片段的评论有什么缺点(换句话说,该代码负责的是什么)?
答案 0 :(得分:0)
作为异常消息,方法名称和代码的其余部分表示,它配置会话设置,会话名称,cookie生存期,保存处理程序等...
您的代码可能运行正常,您应该能够使用PHP session_*()
functions来配置设置(最好的位置可能是您的bootstrap.php
)。将虚拟值写入$_SESSION
似乎会阻止CakeSession::_configureSession()
使用ini_set()
,因此您无需修改它。
所以这可能有用,但没有必要跳过这样的箍。没有必要在正确设置的共享托管环境中禁用ini_set()
,并且我个人会更改托管服务商以防他们无法更改此行为。