thinkPHP5项目上传到centOS服务器后不显示验证码

文章参考
《错误:php70w-common conflicts with php-common-5.3.3-49.el6.x86_64 You could try using --skip-broken to》

环境

  1. centOS7.2
  2. thinkPHP5
  3. 验证码使用的是captcha

问题如下:
本地使用的过程能显示验证码图片,上传到服务器后显示如图:
在这里插入图片描述

百度后大致找到是因为服务器当前php未安装GD库,有关GD库的知识查看这里(gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表、图形、缩略图以及其他图像的处理操作)。
常规安装GD库命令:

# yum -y install php-gd

如果你服务器上没有重装过php那么上面的命令足以解决问题。
如果报告以下类似错误

 错误:php70w-common conflicts with php-common-5.4.16-45.el7.x86_64
 您可以尝试添加 --skip-broken 选项来解决该问题
 您可以尝试执行:rpm -Va --nofiles --nodigest

那么有可能是因为你重装过不同版本的php,并且未清理干净之前版本的php,如此需要使用下面命令(注意:我的php版本是7.0以上的所以使用的是php70w,应视情况而定)

# yum -y install php70w-gd

最后,重启apache server

# service httpd restart

查看结果:
在这里插入图片描述

接着,登录,如果报错:

致命错误: Call to undefined function think\mb_strlen()

在这里插入图片描述
那么可能是因为服务器php未包含php_mbstring扩展,安装方法:

# yum install php70w-mbstring

重启下apache

扫描二维码关注公众号,回复: 4143106 查看本文章
# service httpd restart

done!

猜你喜欢

转载自blog.csdn.net/dongzhensong/article/details/82839596
今日推荐