验证码相关问题
目录
您在使用PESCMS系列软件时出现验证码异常,请按照本文档进行排查(本文档以PESCMS Ticket)。
排查目录
PESCMS系列软件推荐大家使用虚拟主机Virtualhost来部署应用。出现验证码异常的情况,请先排查您是否在二级或者多级目录下安装本程序。若您是在二级或者多级目录,请按照如下方式检查。
打开验证码出现异常的网址。
在验证码图片 上方右键,并选择 在新标签打开此图片。如下图:
确认您在新标签打开的验证码地址能够正确访问我们的程序。如下图所示:
(本图验证码显示异常,能够正确指引到PESCMS Ticket程序)若您在新标签访问的验证码如下图显示500,404之类的错误信息,那么表示您遇到的是路径问题。请参考《安装PESCMS系列程序》
检查GD库
若访问地址确实没问题,别关闭刚才的窗口,我们需要验证您的GD库是否正常。
用编辑器打开Expand/Verify.php文件
在 public function createVerify($length = '4', $type = '') { 这段代码下,新起如下代码:
public function createVerify($length = '4', $type = '') { phpinfo(); exit;
刷新页面,并找到GD库的描述。如下图所示的GD库信息,是我们日常开发和服务器运行的信息:
参照我们的GD库信息,与您服务器运行的GD库信息对比。 根据日常反馈,多数用户是因为GD库缺少freetype的支持。
运行测试代码
GD库和我们截图的一样,而且目录也正常,接下来请运行PHP官方的GD示例。依旧在public function createVerify($length = '4', $type = '') { 下起行一行,如下图所示:
代码如下:
// 创键空白图像并添加一些文本 $im = imagecreatetruecolor(120, 20); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color); // 设置内容类型标头 —— 这个例子里是 image/jpeg header('Content-Type: image/jpeg'); // 输出图像 imagejpeg($im); // 释放内存 imagedestroy($im); exit;
刷新刚才打开的验证码标签。如下图所示:
若您示例代码都运行不成功,表示您的环境没配置好。若示例代码显示正常,而验证码依旧异常,请查看程序LOG目录是否有错误日志信息生成,或者到论坛发寻求帮助。