Mibew Messenger文件名和目录超出260字符限制错误解决方法

发布时间:2018-09-23 14:19:39编辑:丝画阁阅读(3109)

Mibew Messenger(原名为Open Web Messenger )是一个基于 Web 浏览器的即时消息系统,可以用来跟你的客户在线上即时的沟通,特别适用用来做网页的即时客服功能。
Mibew Messenger 是一个PHP+MYSQL开源的在线客服系统。
Mibew Messenger 可以让客户或访问者与管理员在线聊天(所有聊天记录都将被记录)。该系统支持无限个客服人员、访问 者和聊天记录。提供一个Web管理界面,让管理员可以:设置自动回复信息,跟踪访问人员是从哪里点进来的,搜索历史聊天记录,将信息转发给其它管理员,标 记“变态”访问者,查看当前所有通话情况,当客服人员离线时访问人员还可以留言。聊天窗口外观完全可利用模板自定义。


1.Mibew Messenger

Mibew Messenger安装完成,运行提示如下:

Warning: Application stopped because of uncaught exception Stash\Exception\WindowsPathMaxLengthException “Cache path exceeds Windows PHP MAX_LENGTH of 260 characters. ” (F:\www2\mibew2.2\vendor\tedivm\stash\src\Stash\Driver\FileSystem.php:229) in F:\www2\mibew2.2\libs\classes\Mibew\Application.php on line 165

稍微懂点英文的人就知道是什么Warning,“Cache path exceeds Windows PHP MAX_LENGTH of 260 characters”:缓存路径超出了Windows260个字符的最大长度限制。


2.解决方法

2-1:从windows系统本身入手,直接修改本地组策略或者修改注册表,具体的可以百度

2-2:修改Mibew Messenger程序:文件在根目录下vendor文件夹内(/vendor/tedivm/stash/src/Stash/Utilities.php)

代码大约在196行:

public static function normalizeKeys($keys, $hash = 'md5'){
$pKey = array();
foreach ($keys as $keyPiece) {
$prefix = substr($keyPiece, 0, 1) == '@' ? '@' : '';
$pKeyPiece = $prefix . $hash($keyPiece);
//$pKeyPiece = substr($pKeyPiece,0,6);
$pKey[] = $pKeyPiece;
}
return $pKey;
}

其中注释掉的代码为我的修改代码(仅供参考),当然你也可以自行修改。

//$pKeyPiece = substr($pKeyPiece,0,6);

修改后网站就可以正常访问了。



关键字