php - InterAkt KT 函数的 PHP 会话 ID 问题
问题描述
我正在研究一个在 2000 年代初期制作的旧网站。它有很多错误,但大部分是可以修复的。我收到一条错误消息,“您的会话定义不正确,无法启动。请检查您的 php.ini 配置。” . 我能够推断这是来自名为 KT_functions.inc.php 的 php 页面的错误,我相信该页面是由 InterAkt Online 在他们的“包含”包中提供的。
我在这个函数的那个页面上发现了同样的错误:
function KT_session_start() {
if (!session_id()) {
@session_start();
if (!session_id()) {
die('Your session is incorrectly defined and cannot be started. Check your php.ini configuration.');
}
}
$siteroot = md5(KT_getSiteRoot());
if ( isset($_SESSION[$siteroot]) && is_array($_SESSION[$siteroot]) ) {
foreach ($_SESSION[$siteroot] as $key => $value) {
$_SESSION[$key] = $value;
}
}
}
在尝试解决错误一段时间后,我(天真地)尝试将其注释掉。现在所有的网页都返回错误 500。这是网站的核心功能,所以几乎每个页面都使用了它。
我意识到这是一个更大的集合中的一个函数,这可能没有足够的信息。我已联系公司寻求帮助,但无济于事。我只是在寻找一些方向。
编辑:这里是 php.ini 配置
display_errors = On
max_execution_time = 30
max_input_time = 60
max_input_vars = 1000
memory_limit = 32M
post_max_size = 8M
session.gc_maxlifetime = 1440
session.save_path = "/var/cpanel/php/sessions/ea-php72"
upload_max_filesize = 2M
zlib.output_compression = Off
编辑 2:我通过启用 display_errors 并找到错误所在来解决问题。我之前也更新了 PHP 版本,并且我相信一段不同的代码无法正常工作,因为它已被弃用。
解决方案
推荐阅读
- powerbi - Powerquery:用2个双引号(“”)替换1个双引号(“)
- c# - 如何统一使用变量从另一个脚本调用函数
- highcharts - Highcharts xAxis 需要三个图表的相同标签
- gremlin - 重复直到至少一个顶点?
- react-native - react-native-google-fit 不返回 Google Fit 步骤
- javascript - 如何使用复选框控制画布上的绘图
- java - 当我在 JavaFX 中的 ArrayList 上添加数据时,为什么会出现空指针异常
- linux - 如何使用类似于 i2cdetect 的东西检测连接在 PMBus 上的传感器?
- forms - 即使在 C++ Builder 中最小化或最大化,如何以相同的顺序设置表单内容?
- pandoc - 从 Pandoc 中的 txt 生成 epub 时的段落缩进