CentOS单独编译安装PHP gd库扩展

本文详细介绍如何在CentOS 7.0环境下为PHP 5.6.24安装GD库,包括安装前置库freetype、jpegsrc和libpng的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

制作注册网页到图文验证码这一项,因为涉及图片需求,现在要为后台添加GD库。

服务器是阿里云,操作系统是CentOS 7.0 ,配置环境是 Nginx+mysql57+php5.6.24 。

本人用Xshell 5进行安装,用Xftp 5 管理文件。

先安装 gd 前置库 : freetype ,jpegsrc,libpng。

1. freetype

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2

tar jxvf freetype-2.4.0.tar.bz2

cd freetype-2.4.0

./configure --prefix=/usr/local/freetype && make && make install

2. jpegsrc

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

tar zxvf jpegsrc.v9.tar.gz

cd jpeg-9

CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make install


3. libpng

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

tar zxvf libpng-1.6.18.tar.gz 

cd libpng-1.6.18

CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install



接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。

1 cd php-5.3.6
2 cd ext
3 cd gd

然后再这个目录执行命令 /usr/local/php/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。

1 /usr/local/php/bin/phpize

现在可以进行单独编译安装了:

1 ./configure --with-php-configure=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
2 或者
3 ./configure --with-php-config=/usr/local/php/bin/php-config  --with-jpeg-dir=/usr/local/jpeg  --with-png-dir=/usr/local/libpng   --with-freetype-dir=/usr/local/freetype
4 make && make install

接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so

重启 Nginx 之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。

1 service nginx restart
2 /usr/local/php/bin/php -m

console列出:

01 [root@nowamagic gd]# /usr/local/php/bin/php -m
02 [PHP Modules]
03 Core
04 ctype
05 date
06 dom
07 ereg
08 fileinfo
09 filter
10 gd
11 ……

看到gd了,说明gd库安装成功。

接下来只要重启 php-fpm 即可:

1 killall php-fpm
2 /usr/local/php/sbin/php-fpm

phpinfo()一下,看看。

OK,安装成功。

### 在 CentOS 7 上通过 Yum 编译安装 PHP 5.3 的方法 尽管 CentOS 7 默认的软件仓中不再提供 PHP 5.3,但仍可以通过手动配置第三方源或自行编译的方式实现安装。以下是具体的操作说明: #### 配置 EPEL 源 EPEL 是一个由 Fedora 社区维护的附加软件包集合,可以扩展 CentOS 的可用软件范围。虽然它不直接支持 PHP 5.3,但它提供了许多必要的依赖项[^2]。 ```bash sudo yum install epel-release -y ``` #### 添加 Remi 或其他旧版本源 Remi 提供了一个专门用于老版本 PHP 的存储。为了获取 PHP 5.3,需启用该存储中的 `remi-php53` 子集[^4]。 ```bash sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y sudo yum-config-manager --enable remi-php53 ``` #### 安装 PHP 及其常用模块 一旦启用了合适的存储,就可以像平常一样使用 `yum` 命令来安装所需的 PHP 组件及其扩展。 ```bash sudo yum install php php-cli php-common php-mysqlnd php-pdo php-gd php-mbstring php-xml php-json -y ``` 需要注意的是,在某些情况下可能需要额外的手动操作以解决兼容性问题,比如调整 Nginx 或 Apache 中关于 PHP-FPM 的设置[^1]。 #### 处理缺失的扩展 如果发现有特定功能未被默认包含进来,则可按照如下方式单独构建这些插件[^3]: 进入对应扩展所在的路径执行相应命令: ```bash cd /path/to/php-source/ext/[extension_name] /usr/local/php5.3/bin/phpize ./configure --with-php-config=/usr/local/php5.3/bin/php-config make && sudo make install ``` 最后记得更新主程序配置文件(`php.ini`)使新加入的功能生效。 --- ### 注意事项 上述过程假设读者已经具备基本 Linux 系统管理技能,并熟悉如何处理可能出现的各种错误提示信息。对于生产环境中部署低级别的解释型语言运行时应格外谨慎评估安全风险因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值