动态编译php的gd库

简介:

今天帮人安装lnmp环境(编译安装),遇到要动态安装gd库的情况,就记录下来。

首先装完了mysql,和ngxin,不是本文的重点,跳过

下载php-5.3.5.tar.bz2于/usr/local/src下,解压,执行./configue,

  参数为:

  ./configure --prefix=/usr/local/php        \
                    --with-curl                    \
                    --with-zlib                    \
                    --with-mhash                   \
                    --with-openssl                 \
                    --with-mcrypt                  \
                    --with-mysql=/usr/local/mysql  \
                    --with-fpm-user=www            \
                    --with-fpm-group=www           \
                    --enable-xml                   \
                    --enable-sockets               \
                    --enable-fpm                   \
                    --enable-zip                   \
                    --enable-mbstring              \
                    --enable-inline-optimization   \
                    --disable-debug                \
                    --disable-ipv6                 
接着

make  && make install

接着安装 gd 前置库 : freetype ,jpegsrc,libpng,

依次进入各个目录执行

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

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

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

接着cd 到php源码的gd目录

cd /usr/local/src/php-5.3.5/ext/gd

一定要在这个目录下执行 /usr/local/php/bin/phpize

接着在当前目录下执行:

./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

make && make install

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

这样在执行 /usr/local/php/bin/php  -m 查看gd模块是否加载成功。

因为我是用nginx fastcgi 执行php的,所以安装php后要修改下/usr/local/php/etc/php-fpm.conf文件。不然开启php-fpm时候会报错

pm.min_spare_servers(0) must be a positive value

pm.start_servers is not set. It's been set to 20

vim /usr/local/php/etc/php-fpm.conf 

将;pm.max_spare_servers = 35  前的;去掉

将;pm.start_servers = 20 前的;去掉

将;pm.min_spare_servers = 5 前的;去掉

接着执行/usr/local/php/sbin/php-fpm  就没报错了,php-fpm默认监听9000端口

还要将nginx的配置文件中有关fastcgi 的注释符去掉,

还要将 nginx配置文件中的这句

 fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name; 中的/scripts

修改为网站路径,我的是

 fastcgi_param  SCRIPT_FILENAME  /var/www/web$fastcgi_script_name;

这样应该就可以了

还有一个地方要注意,编译安装软件时候要看清楚系统里是否已经用yum或rpm安装了相同的软件。我上面操作的时候因为系统本身yum装了php,我编译php前没卸载掉系统的php导致错误。

 

 



      本文转自hb_fukua  51CTO博客,原文链接:http://blog.51cto.com/2804976/593103,如需转载请自行联系原作者



相关文章
|
2月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
121 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
5月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
98 25
|
5月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
130 28
|
5月前
|
PHP
基于PHP开发的资源库系统源码
基于PHP开发的资源库系统源码
114 13
|
5月前
|
Linux PHP iOS开发
PHP-Raylib 视 频 游 戏 编 程 库
php-raylib 是基于 PHP-FFI 绑定的 raylib-v5.5 游戏开发库,让 PHP 开发者轻松实现视频游戏编程。相比仅支持 4.+ 版本的原库,本项目适配最新 5.5 版本,并提供友好文档与示例代码(如窗口初始化、文本绘制等)。支持 PHP 7.4+ 和多平台(Windows、Linux、macOS),可通过 Composer 快速安装。欢迎贡献和完善![查看文档](http://raylib.kllxs.top/) 或访问仓库(GitHub/Gitee/Gitcode)。
PHP-Raylib 视 频 游 戏 编 程 库
|
6月前
|
JSON API Go
基于责任链与策略模式的轻量级PHP日志库设计
项目日志乱成一团,bug 时好时坏,服务器问题难以复现?我写了个 PHP 日志系统,第一时间发现问题,避免跑路。实现了责任链模式+策略模式,让日志存储更灵活,支持多种输出方式。
|
7月前
|
监控 定位技术 PHP
使用PHP接入纯真IP库:实现IP地址地理位置查询
本文介绍了如何使用PHP接入纯真IP库(QQWry),实现IP地址的地理位置查询。纯真IP库是一个轻量级的IP数据库,数据格式简单,查询速度快,适合Web应用。首先,下载并放置`QQWry.dat`文件到项目目录。接着,通过编写PHP类解析该文件,实现IP查询功能。最后,提供了一个完整的案例演示,展示如何查询IP地址对应的国家和地区信息。该工具适用于用户地理位置分析、访问日志分析和风控系统等场景,具有轻量级、查询速度快、数据更新方便等优点。
|
9月前
|
PHP 计算机视觉 UED
Buzz库:PHP图像处理中的异步图像下载和保存
Buzz库:PHP图像处理中的异步图像下载和保存
|
10月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
382 4
|
10月前
|
PHP 计算机视觉 开发者
PHP中的图像处理:GD库与Imagick的应用比较
在PHP开发中,图像处理是一个常见的需求,尤其是在开发图像生成、编辑、缩放等功能时。PHP提供了两种主流的图像处理库——GD库和Imagick,它们各自具有不同的特点和适用场景。本文将对这两者进行比较,帮助开发者根据项目需求选择合适的图像处理工具。