编译安装php

编译环境:centos7,准备好需要的源码包,这里使用包编译如下:

#PHP的编译很麻烦,主要在于需要添加很多库,这里只是按照个人添加部分库

curl-7.54.0.tar.gz:./configure --prefix=/usr/local/dev/curl-7.54.0

libxml2-2.9.4.tar.gz:./configure --prefix=/usr/local/dev/xml2-2.9.4   

#需要python.h,一般系统都自带python了,所以可以选yum install -y python-devel或者重新编译一个python~

zlib-1.2.11.tar.gz:./configure   

#编译在其他地方部分库使用时提示找不到

libgd-2.2.4.tar.gz:./configure --prefix=/usr/local/dev/gd-2.2.4

libpng-1.6.29.tar.gz:./configure --prefix=/usr/local/dev/png-1.6.29 --with-zlib

libiconv-1.15.tar.gz:./configure --prefix=/usr/local/dev/iconv-1.15

jpegsrc.v9b.tar.gz:./configure --prefix=/usr/local/dev/jpeg-v9b

freetype-2.7.tar.gz:./configure --prefix=/usr/local/dev/freetype-2.7

php-5.6.30.tar.gz:

./configure --prefix=/usr/local/php-5.6.30 

--with-config-file-path=/usr/local/php-5.6.30/etc/  

#编译完成后复制源码包内的php.ini-development或php.ini-production到这个目录并改名为php.ini,用于配置php

--with-curl=/usr/local/dev/curl-7.54.0 

--with-gd=/usr/local/dev/gd-2.2.4 

--with-iconv=/usr/local/dev/iconv-1.15 

--with-zlib     

#之前编译在/usr下所以不用指定目录了

--with-libxml-dir=/usr/local/dev/xml2-2.9.4 

--with-png-dir=/usr/local/dev/png-1.6.29 

--with-jpeg-dir=/usr/local/dev/jpeg-v9b 

--with-freetype-dir=/usr/local/dev/freetype-2.7 

......

#有的参数路径指定有"-dir",具体可以使用./configure --help | grep -i "你要的参数" 查看help文档

--enable-fpm                                    #nginx支持

--with-apxs2=/apache目录/bin/apxs  #apache支持

--with-mysql=/mysql目录                    #mysql支持(本地mysql)

--with-mysqli=/mysql目录/bin/mysql_config

--with-pdo-mysql=/mysql目录

--enable-mysqlnd                              #mysql支持(远程mysql)

--with-mysql=mysqlnd

--with-mysqli=mysqlnd

--with-pdo-mysql=mysqlnd

 #开启部分功能(按照实际情况)

--enable-zip          #zip支持

--enable-ftp          #ftp支持

--enable-sockets    #socket支持

......


一些功能的介绍[链接]文献


编译安装php之后,如果需要添加新的模块,可以使用如下方法:

①执行php -v查看版本号,使用对应的源码包进入源码包/ext目录下,该目录下有很多以模块命名的目录,选择需要新增的模块进入执行/php路径/bin/phpize。

②可以看到执行之后出现很多新的文件,其中包括configure,还是在这个目录下执行./configure --with-php-config=/php安装路径/bin/php-config && make clean && make && make install (使用make clean可以避免先前编译导致报错)。

③执行之后看到回显了一个路径[类似这样的格式:/php路径/lib/php/extensions/no-debug-non-zts-*],切换到该目录下复制对应的模块.so文件到/php路径/etc/ext/下。

④然后修改/php路径/etc/php.ini[这个路径跟编译安装时候--with-config-file-path有关],修改extension_dir="/php路径/etc/ext"(若不存在就添加上去)和添加 extension=新模块.so 

⑤最后使用php -m |grep 模块查看是否新增成功


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值