禅道错误:登录页面可以打开,输入正确的用户名和密码没有反应,软件和数据库运行正常。
因搜到这篇文章得到的解决思路:
https://www.cnblogs.com/bosins/p/15132758.html
但错误原因不同。
1、在修改 zentao/config/my.php 中 debug 为 true 后
在 zentao/tmp/log 中,找到 php.日期.log.php 查看错误
2、报错信息为:
19:00:00 #0 lib/base/dao/dao.class.php(1857): baseRouter->triggerError('SQLSTATE[22003]...', 'li...', 1857, true)
#1 lib/base/dao/dao.class.php(1206): baseDAO->sqlError(Object(PDOException))
#2 lib/dao/dao.class.php(26): baseDAO->exec('INSERT INTO `zt...')
#3 lib/base/dao/dao.class.php(1121): dao->exec()
#4 lib/base/dao/dao.class.php(1144): baseDAO->convertReplaceToInsert()
#5 lib/dao/dao.class.php(26): baseDAO->exec('')
#6 module/user/model.php(1941): dao->exec()
#7 module/user/model.php(2054): userModel->computeUserView('xxx', true)
#8 module/user/model.php(1193): userModel->grantUserView('xxx', Array, '')
#9 api/v1/entries/tokens.php(31): userModel->login(Object(stdClass), false)
#10 framework/api/router.class.php(208): tokensEntry->post()
#11 www/api.php(61): api->loadModule()
#12 {main}ERROR: SQLSTATE[22003]: Numeric value out of range: 167 Out of range value for column 'id' at row 1 ,the sql is: 'INSERT INTO `zt_userview` (`account`,`programs`,`products`,`projects`,`sprints`) VALUES('xxx','','3,4,31,32,34,37,48','9,11,13,47,84,85,99,117','43,44,48,54,55,58,62,69,79,80,82,83,87,88,89,90,91,92,93,94,100,104,105,118,122')' The sql is: INSERT INTO `zt_userview` (`account`,`programs`,`products`,`projects`,`sprints`) VALUES('xxx','','3,4,31,32,34,37,48','9,11,13,47,84,85,99,117','43,44,48,54,55,58,62,69,79,80,82,83,87,88,89,90,91,92,93,94,100,104,105,118,122') in lib/base/dao/dao.class.php on line 1857, last called by lib/base/dao/dao.class.php on line 1206 through function sqlError.
in framework/base/router.class.php on line 3272 when visiting
3、网上搜了一下,貌似是 id 列的值超出了类型范围,于是就登录禅道数据库查看表结构
登录方法:①、使用禅道内部数据库可视化管理工具:[禅道地址]/adminer 或 [禅道地址]/dbview
更多参考文档:https://www.zentao.net/book/zentaopmshelp/90.html
②、使用第三方工具从外部连接:用端口直接连接就可以。
数据库类型:mysql
数据库名称:zentao
默认账号:root
默认密码:123456
4、找到表 zt_userview,修改其字段 id 的类型,原类型为 mediumint,改为 int 即可恢复正常。
5、记得把 debug 关掉。
输了你,赢了世界又如何...

浙公网安备 33010602011771号