我从php 7.0切换到7.2。更改之后,第一个“ =>”之后的代码作为文本输出到我的页面。
变形文本,删除数组的一部分,完全删除session_start中的数组。所有要做的就是将问题移至下一个“ =>”
<?
$file = __FILE__;
if (empty($_COOKIE['PHPSESSID'])) {
header('HTTP/1.0 403 Forbidden');
$level = 'Security';
$errorMessage = "[{$file}] [{$level}] Session cookie not passed".PHP_EOL;
error_log($errorMessage);
die();
} else {
session_id($_COOKIE['PHPSESSID']);
}
session_start([
'gc_maxlifetime' =>3600,
'use_strict_mode' =>1,
'use_only_cookies' =>1,
'cookie_lifetime' =>604800,
'cookie_secure' =>1,
'cookie_httponly' =>1
]);
//'cookie_samesite' =>1 add in after php 7.3
我希望会话将开始并且php将完成。与php 7.0下相同
发生的事情是代码运行到第一个“ =>”。那时它输出“ 3600,'use_strict_mode'=> 1,....,以”?>“结尾
在apache2错误日志中,我得到一个“未定义的变量:_SESSION in .....”,这表明该会话从未启动。没有显示其他错误。
答案 0 :(得分:0)
似乎在php.ini文件中。我将php.ini文件从7.0文件夹复制到7.2文件夹,一切开始正常工作。