ubuntu 中php不支持gd库的freetype,导致页面验证码无法加载

2024-05-30 00:32

本文主要是介绍ubuntu 中php不支持gd库的freetype,导致页面验证码无法加载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、修改源

cp /etc/apt/sources.list /etc/apt/sources.list.bak

vim /etc/apt/sources.list

先删除里面的东西,再将下列写入:

deb http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ precise main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ precise-proposed main restricted universe multiverse

deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse

保存后,执行:

apt-get update

2、安装工具

apt-get install wget

apt-get install vim

3、建立测试文件:

在apache访问目录下,建立文件phpinfo.php,写入以下内容:

<?php

if(extension_loaded('gd')){

echo 'can use gd<br>';

foreach(gd_info() as $cate=>$value)

echo "$cate: $value<br>";

}else

echo 'can not use gd'

?>

在浏览器上访问:http://test.com/phpinfo.php

can use gd

GD Version: bundled (2.0.34 compatible)

FreeType Support:                            #这里冒号后面没有值,说明gd不支持freetype

T1Lib Support:

GIF Read Support: 1

GIF Create Support: 1

JPEG Support: 1

PNG Support: 1

WBMP Support: 1

XPM Support:

XBM Support: 1

JIS-mapped Japanese Font Support:

4、下载相关包

wget http://zlib.net/zlib-1.2.8.tar.gz

wget http://ftp.yzu.edu.tw/nongnu//freetype/freetype-2.6.tar.gz

wget https://github.com/libgd/libgd/releases/download/gd-2.1.1/libgd-2.1.1.tar.gz

wget http://cn2.php.net/distributions/php-5.4.30.tar.gz

wget http://www.ijg.org/files/jpegsrc.v9.tar.gz

wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.21/libpng-1.6.21.tar.gz

5、apt-get -y install autoconf libxml2-dev bzip2 openssl

6、解压并安装

tar -xzvf freetype-2.6.tar.gz

tar -xzvf php-5.4.30.tar.gz

tar -xzvf zlib-1.2.8.tar.gz

tar -xzvf libpng-1.6.21.tar.gz

tar -xzvf jpegsrc.v9.tar.gz

tar -xzvf libgd-2.1.1.tar.gz

cd libpng-1.6.21

./configure --prefix=/usr/local/libpng

make && make install

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib

make && make install

cd freetype-2.6

cd builds/unix/

./configure --prefix=/usr/local/freetype --enable-shared

cd ../..

./configure --prefix=/usr/local/freetype --enable-shared

make && make install

cd jpeg-9

./configure --prefix=/usr/local/jpeg

make && make install

cd libgd-2.1.1

./configure --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/

make && make install

7、备份

cp -r php5_4_3 php5_4_3bak

8、建模块链接

cd /usr/lib/

ln -s /usr/lib/x86_64-linux-gnu/libXpm.so .

ln -s /usr/lib/x86_64-linux-gnu/libXpm.a .

ln -s /usr/lib/x86_64-linux-gnu/libXpm.so.4 .

ln -s /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0 .

ln -s /usr/lib/x86_64-linux-gnu/libssl.so .

ln -s /bin/sed /usr/bin/sed

9、编译php

cd php-5.4.30

./configure --prefix=/home/php/php5_4_3/ --with-config-file-path=/home/php/php5_4_3/etc/ --with-apxs2=/home/apache/2_2_22/apache/bin/apxs --with-gd --with-iconv --with-jpeg-dir=/usr/local/jpeg/ --with-zlib=/usr/local/zlib/ --enable-xml --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbstring=all --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-session --enable-imap --enable-calendar --enable-eaccelerator=shared --enable-wddx --with-freetype-dir=/usr/local/freetype/ --without-pear

make

make install

10、重启apache

可以在页面上重启,但是重启后请确认是否重启成功:可用ps -ef | grep http 结果查看进程时间来确定

如果页面重启不成功,尝试:

cd /home/apache/2_2_22/apache/bin/

apachectl restart

如果有错误,具体处理就行

11、测试

浏览器访问:http://test.com/phpinfo.php

结果为:

can use gd

GD Version: bundled (2.1.0 compatible)

FreeType Support: 1                             #这里有值

FreeType Linkage: with freetype                  #这里有值

T1Lib Support:

GIF Read Support: 1

GIF Create Support: 1

JPEG Support: 1

PNG Support: 1

WBMP Support: 1

XPM Support:

XBM Support: 1

JIS-mapped Japanese Font Support:

12、成功后将phpinfo.php这个文件删除


这篇关于ubuntu 中php不支持gd库的freetype,导致页面验证码无法加载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015070

相关文章

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Ubuntu设置程序开机自启动的操作步骤

《Ubuntu设置程序开机自启动的操作步骤》在部署程序到边缘端时,我们总希望可以通电即启动我们写好的程序,本篇博客用以记录如何在ubuntu开机执行某条命令或者某个可执行程序,需要的朋友可以参考下... 目录1、概述2、图形界面设置3、设置为Systemd服务1、概述测试环境:Ubuntu22.04 带图

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1

如何解决yum无法安装epel-release的问题

《如何解决yum无法安装epel-release的问题》:本文主要介绍如何解决yum无法安装epel-release的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录yum无法安装epel-release尝试了第一种方法第二种方法(我就是用这种方法解决的)总结yum

IDEA下"File is read-only"可能原因分析及"找不到或无法加载主类"的问题

《IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题》:本文主要介绍IDEA下Fileisread-only可能原因分析及找不到或无法加载主类的问题,具有很好的参... 目录1.File is read-only”可能原因2.“找不到或无法加载主类”问题的解决总结1.File