博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态编译php的gd库
阅读量:7056 次
发布时间:2019-06-28

本文共 1878 字,大约阅读时间需要 6 分钟。

今天帮人安装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,如需转载请自行联系原作者

你可能感兴趣的文章
C/C++函数调用方式
查看>>
Timer Swing
查看>>
Cassandra命令行CLI的基本使用
查看>>
JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度
查看>>
8、redis之事务1-redis命令
查看>>
http://www.111cn.net/jsp/Jsp-Servlet/45158.htm
查看>>
使用vlc播放器做rtsp流媒体服务器
查看>>
常用的easyui使用方法
查看>>
【C#基础】HTTP发送POST二进制数据
查看>>
rabbitmq redis
查看>>
【5集iCore3_ADP演示视频】5-3 iCore3应用开发平台摸校准
查看>>
Token原理以及应用
查看>>
iOS block分析
查看>>
神经网络的BP算法
查看>>
Java String常见问题
查看>>
x264代码剖析(十五):核心算法之宏块编码中的变换编码
查看>>
Android仿微信进度弹出框的实现方法
查看>>
Spring事务管理
查看>>
[转]所有人都在渲染程序员的中年危机,我们却在劝你重新学会学习
查看>>
oom killer
查看>>