首页 » 资源分享 » PHP » 正文

thinkphp访问报错:mkdir(): Protocol error的处理方法



当打开网站发现报错:mkdir(): Protocol error,一般出问题的就是缓存文件目录无法创建(window服务器目录不能使用特殊字符)。

报错信息页面往下找到 Exception Datas,看看Error Context下面的name,filename,dir,后面显示的目录路径runtime/xxxx目录是否出现了特殊字符,比如filename = xxxx/runtime/web/cache/arc_cache:/53/xxxx.php中的seo_cache:,出现了特殊字符“:”。

解决问题:
1、找到缓存设置的配置文件:app/config (tp5) ,或可以全局搜这个文件命名“arc_cache:”;
2、看看cache配置中驱动方式type是否是file(默认不填为file),而缓存前缀prefix的值是否为“arc_cache:”;
3、解决方法一,修改缓存前缀prefix,不要出现特殊字符;
4、解决方法二,修改驱动方式type,使用redis或memcached。