在application / config.php中我有一个像这样的include函数
include($_SERVER['DOCUMENT_ROOT'].'/config/log.php');
或
include($_SERVER['DOCUMENT_ROOT'].'/config/session.php');
显然我的配置文件在root / config / whatever.php中。现在,因为我将文件移动到新服务器,所以包含可能不起作用。因此,如果我写了文件的名称,我会得到一个错误,但如果该文件存在,它将不会包含它的常量和CI通过错误,如
要使用Session类,您需要设置一个 配置文件中的加密密钥。
作为一种解决方案,我实际上可以在config.php中包含联系文件(但这不是我想要做的,因为我在几个单独的CI应用程序中使用了详细信息)。所以我感谢任何更好的解决方案。
非常感谢提前
P.S。我使用PHP 5.5.9-1ubuntu4.11(cli)(内置:2015年7月2日15:23:08)
更新:
echo $_SERVER['DOCUMENT_ROOT'].'/config/session.php'; ///returns : var/www/html/config/session.php
include($_SERVER['DOCUMENT_ROOT'].'/config/session.php'); //return nothing and its not including the vars since i get encryption key error
include($_SERVER['DOCUMENT_ROOT'].'/config/sessionsfgdfgsdf.php'); //gives error
答案 0 :(得分:1)
发生此错误是因为如果您没有使用加密会话,则必须在配置文件中设置加密密钥,用于帮助防止会话数据操作
要将密钥保存到application/config/config.php,
打开文件并设置:
$config['encryption_key'] = "YOUR KEY";
答案 1 :(得分:0)
application/config/config.php
中的
$config['encryption_key'] = "123";
包含
file_get_contents(APPPATH.'config/session.php');