重新加载PHP页面时出现错误504

时间:2017-10-26 22:08:07

标签: php nginx

我有一个旧的票务系统(10年以上的PHP代码)。在回复时,突然出现了504错误。

问题是,消息和/或附件是在票证中发布的,但由于某种原因,当系统尝试重新加载票证以显示答复时,它会得到504。

检查日志并获取:

2017/10/26 21:05:15 [error] 4220#0: *135 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: nosession in /xxx/init.php on line 189
PHP message: PHP Notice:  Undefined index: login_email in /xxx/init.php on line 212
PHP message: PHP Notice:  Undefined index: user in /xxx/init.php on line 212
...    

第212和213行:

$id=$_POST['login_email'] ? $_POST['login_email']:$_SESSION['user']['id'];
$pass=$_POST['login_ticket'] ? $_POST['login_ticket']:$_SESSION['user']['pass'];

另一行错误:

if (isset($_SESSION['user']['warn'])) { $warn = $_SESSION['user']['warn']; unset($_SESSION['user']['warn']); }

我认为会话管理在某种程度上受到了影响(未定义的变量nosession):

if (!$nosession) {
 session_start();
}

(无法在脚本文件中找到它)

然后当程序想要从会话中获取一些数据时,它会一直循环,直到达到超时。

不知道如何验证这一点,任何想法?

PHP:5.6.30,nginx 1.6

谢谢!

编辑:

var_dump(_SESSION)

array(2) { ["user"]=> array(3) { ["id"]=> string(5) "someuser" ["pass"]=> string(32) "xxx" ["type"]=> string(5) "admin" } ["view"]=> array(6) { ["status"]=> string(4) "open" ["sort"]=> string(9) "timestamp" ["way"]=> string(3) "ASC" ["orderby"]=> string(21) "tickets.timestamp ASC" ["per"]=> string(2) "50" ["p"]=> int(1) } }

1 个答案:

答案 0 :(得分:0)

这是更新包的问题。不知道哪个是罪魁祸首,但不得不恢复到网站的旧图像并更新数据库以使其正常工作。