由于服务器时间比本地时间慢了约55分钟,于是把discuz论坛的时间调快了1个时区,其他的功能是暂时没有问题了,但是查看discuz论坛的短信息时却出现了"Invalid input"错误提示,到官方论坛去看了一下也说明了一下是论坛时间的问题,可是都不着要领,根本解决不了"Invalid input"错误提示的问题
由于discuz使用了p3p协议方式传递cookie,可能的原因是超时导致,发现ucenter/control/pm_client.php程序中有这样一段(约第33行)
$this->setcookie('uc_auth', @$this->authcode($this->input['uid']."||".md5($_SERVER['HTTP_USER_AGENT']), 'ENCODE', UC_KEY), 1800);
这里设置的p3p cookie保存时间是1800秒 也即30分钟,而我的系统比本地时间要慢上近一个小时,于是我调整了一下这个时间为 7200(2个小时)
经过测试,短信息可以查看了,不再有"Invalid input"的错误提示,是否会导致其他问题暂未可知.
discuz官方给的解决办法貌似无效
10问:短消息中心提示 Invalid input
答:短消息中心页面30分钟后会超时,超时后出现这个提示,需要您重新从应用再次点击进入短消息中心。如果 在未超时的情况下提示这个消息,那么则是短消息中心按照 P3P 方式设置 Cookie 失效导致的。在 UCenter 20080429 版本后,您可以在 UCenter 目录的data/config.inc.php 文件中加入以下内容设置 UCenter 的 Cookiedomain 和Cookiepath。请尝试配置应用 config 文件中的 cookiedomain 为 '.xxx.com' 格式或者cookiepath 为正确的 url 路径
define('UC_COOKIEPATH', '/');
define('UC_COOKIEDOMAIN', '.xxx.com');
收藏:

(142)
(131)
(208)
(123)
(70)
(24)
(6)
(149)
(36)
(24)
(19)
(6)
(2)
(2)
(15)
(7)