错误:该对象已被创建!

标题是 iTop 新建 teemip 的 IP Subnet Block 对象时,在空表页报出的一个莫名其妙的错误。iTop 版本是 2.7.0,理论上唯一性检查应该在对象页面展示提示信息,而不是一个空白页。

错误:该对象已被创建

搜索代码,可以知道这个信息是在 iTop 的核心词典里。

继续搜索词典 Key:

可以看到是在 /pages/UI.php 中调用的,因此基本可以排除是插件问题,创建一个 Server 对象,也出现这种情况,验证了这个推测。

查看 /pages/UI.php 中相关代码:

查看 iTop 错误日志:

根据错误日志,搜索到相关信息[1]:

The "invalid transaction_id" is thrown in pages/UI.php if \utils::IsTransactionValid returns false.
This transaction_id is an anti-CSRF token.
By default they are stored on disk, but were in session before 2.5.2 or 2.6.0 (see transaction_storage configuration parameter).

这些 transaction_id 是存在 data/transactions 目录下。删除此目录,重新操作 iTop,报错无法创建 data/transactions 目录,检查 data 文件夹权限正常。接着在刷新 iTop,MySQL 就挂了,查看 MySQL 日志,才发现磁盘空间不够了:

腾出磁盘空间后,iTop 恢复正常。

参考资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注