imagettftext(): Could not find/open font终极解决方法


今天重装系统环境后调试系统,在登陆的时候出现验证码无法显示,开始没留意,以为是伪静态没设置引起的,待所有设置全部完成后访问时问题依旧,单独访问生成验证码的文件时发现有如下错误提示:

imagettftext(): Could not find/open font

从字面意思理解应该是在执行imagettftext()函数时无法发现或打开字体文件,这就好办了,遂找到生成验证码的Verify文件查看代码如下:

// 验证码使用随机字体

        $ttfPath = dirname(__FILE__) . '/Verify/' . ($this->useZh ? 'zhttfs' : 'ttfs') . '/';

这跟网上讲的需要使用绝对路径的问题是一样的(这里可能有朋友踩坑),很明显不单单是这个原因,继续排查,发现因为查找方便,前段时间更改了本项目的目录名称为中文名称了,马上改之,问题解决!


评论