我们将我们的网站移至带有新 IP 地址的新服务器。让我困惑的是什么?网站登录 session 在新服务器上不起作用,但是当我将数据库 IP 更改为旧服务器时,它们可以正常工作。
MySQL版本
- 旧服务器 = 5.1.58- 社区
- 新服务器 = 5.1.68 - 社区
起初我认为这是一个 PHP 错误,但我现在相信它不是,并怀疑它与 MySQL 相关。谁知道是什么原因导致了这场冲突?
调试错误
Notice: A session had already been started - ignoring session_start() in C:\inetpub\wwwroot\gtest\libs\products.php on line 2
Notice: Undefined index: uUserTypeID in C:\inetpub\wwwroot\gtest\admin\index.php on line 50
Notice: Undefined offset: 0 in C:\inetpub\wwwroot\gtest\admin\index.php on line 52
Notice: Undefined offset: 0 in C:\inetpub\wwwroot\gtest\admin\index.php on line 52
第 50 行
GetUserType($_SESSION['uUserTypeID'], $UserTypeID, $UserTypeDescr, $Active_Tag);
第 52 行
if (($UserTypeDescr[0] == 'Admin') || ($UserTypeDescr[0] == 'Report'))
最佳答案
让我们按顺序浏览通知:
session_start()
之前已经调用过。无需再次调用。- 没有
$_SESSION["uUserTypeID"]
这样的变量。尚未设置。 - 位于
$UserTypeDescr
的数组没有0
索引。它可能是空的。如果您从数据库查询中获得它,它要么失败,要么返回一个空结果集。 - 与 3 相同。
关于PHP MySQL session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829038/