php-7.2.0源码安装及扩展安装
来源:互联网 发布:三星s4如何使用4g网络 编辑:程序博客网 时间:2024/06/03 16:43
一、安装环境
ubuntu 16.04
一、源码安装前准备工作
1.1、下载源码
下载地址:http://www.php.net/downloads.php
可自行选择版本,这里我选择的最新版本PHP 7.2.0,下载地址为:http://cn2.php.net/distributions/php-7.2.0.tar.gz
wget http://cn2.php.net/distributions/php-7.2.0.tar.gz
1.2、解压
tar -zxvf php-7.2.0.tar.gz
1.3、准备安装目标文件夹
mkdir /usr/local/php
注:也就是源码安装的php到这个路径中
二、编译安装
2.1、配置
cd cd php-7.2.0/
A、如果PHP搭配Apache使用,那么配置如下
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs
注:
/usr/local/apache2/bin/apxs,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中
B、如果只是单独安装PHP以及MySQL的扩展,而不安装MySQL服务,那么需要添加下面的配置
--enable-sockets=shared \
--with-pdo-mysql=shared,mysqlnd 或者 --with-mysql=shared,mysqlnd
此处可以选择使用PHP的 mysql 还是 pdo 扩展,两者选择其一即可
总结:执行A或者B此时可能出现错误
configure: error: xml2-config not found. Please check your libxml2 installation.
解决方法:
CentOS
yum install libxml2
yum install libxml2-devel
ubuntu:
apt-get install libxml2
apt-get install libxml2-dev
安装成功后,重新运行上面的./configure命令
示例:我安装的是不带Apache 和 Mysql 服务器,并且使用PDO扩展,那么配置如下
./configure --prefix=/usr/local/php \
--enable-sockets=shared \
--with-pdo-mysql=shared,mysqlnd
2.2、编译
make
2.3、测试
make test
2.4、安装
make install
2.5、复制ini
cp /php-7.2.0/php.ini-development /usr/local/php/lib/php.ini
把原来位于源代码里面的php.ini-development拷贝到/usr/local/php/lib/php.ini下,并且重命名为php.ini
三、把php加入到系统环境变量
echo "export PATH=$PATH:/usr/local/php/bin/php" >> /etc/profile
source /etc/profile
四、查看php版本
/usr/local/php/bin/php --version
五、安装扩展
首先,请确保已经安装了autoconf,如未安装,请执行apt-get install autoconf
编译完成之后,将会自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php/lib/php/extensions/no-debug-zts-20090626),再修改php.ini
修改php.ini,添加一句extension=mbstring.so
5.1、mbstring扩展
5.2、pdo_mysql扩展
5.3、zlib扩展
5.4、curl扩展
5.5、pcntl扩展
5.6、libevent/event 扩展
注:此处安装可能遇到的问题及解决方案
问题1:configure: error: Cannot find OpenSSL's <evp.h>
解决方案:apt-get install libssl-dev
问题2:configure: error: Cannot find OpenSSL's libraries
解决方案:
find / -name libssl.so
输出结果为:/usr/lib/x86_64-linux-gnu/libssl.so
初步判断它可能只会在 /usr/lib/ 下寻找 libssl.so 文件,于是:
ln -s/usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
重新编译安装即通过。
5.7、redis扩展(phpredis)
5.8、openssl扩展
注:此处安装可能遇到的问题及解决方案
问题1:configure: error: Cannot find OpenSSL's <evp.h>
解决方案:apt-get install libssl-dev
问题2:configure: error: Cannot find OpenSSL's libraries
解决方案:
find / -name libssl.so
输出结果为:/usr/lib/x86_64-linux-gnu/libssl.so
初步判断它可能只会在 /usr/lib/ 下寻找 libssl.so 文件,于是:
ln -s/usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
重新编译安装即通过。
ubuntu 16.04
一、源码安装前准备工作
1.1、下载源码
下载地址:http://www.php.net/downloads.php
可自行选择版本,这里我选择的最新版本PHP 7.2.0,下载地址为:http://cn2.php.net/distributions/php-7.2.0.tar.gz
wget http://cn2.php.net/distributions/php-7.2.0.tar.gz
1.2、解压
tar -zxvf php-7.2.0.tar.gz
1.3、准备安装目标文件夹
mkdir /usr/local/php
注:也就是源码安装的php到这个路径中
二、编译安装
2.1、配置
cd cd php-7.2.0/
A、如果PHP搭配Apache使用,那么配置如下
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs
注:
/usr/local/apache2/bin/apxs,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中
B、如果只是单独安装PHP以及MySQL的扩展,而不安装MySQL服务,那么需要添加下面的配置
--enable-sockets=shared \
--with-pdo-mysql=shared,mysqlnd 或者 --with-mysql=shared,mysqlnd
此处可以选择使用PHP的 mysql 还是 pdo 扩展,两者选择其一即可
总结:执行A或者B此时可能出现错误
configure: error: xml2-config not found. Please check your libxml2 installation.
解决方法:
CentOS
yum install libxml2
yum install libxml2-devel
ubuntu:
apt-get install libxml2
apt-get install libxml2-dev
安装成功后,重新运行上面的./configure命令
示例:我安装的是不带Apache 和 Mysql 服务器,并且使用PDO扩展,那么配置如下
./configure --prefix=/usr/local/php \
--enable-sockets=shared \
--with-pdo-mysql=shared,mysqlnd
2.2、编译
make
2.3、测试
make test
2.4、安装
make install
2.5、复制ini
cp /php-7.2.0/php.ini-development /usr/local/php/lib/php.ini
把原来位于源代码里面的php.ini-development拷贝到/usr/local/php/lib/php.ini下,并且重命名为php.ini
三、把php加入到系统环境变量
echo "export PATH=$PATH:/usr/local/php/bin/php" >> /etc/profile
source /etc/profile
四、查看php版本
/usr/local/php/bin/php --version
五、安装扩展
首先,请确保已经安装了autoconf,如未安装,请执行apt-get install autoconf
编译完成之后,将会自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php/lib/php/extensions/no-debug-zts-20090626),再修改php.ini
修改php.ini,添加一句extension=mbstring.so
5.1、mbstring扩展
1、进入源码mbstring文件夹cd /php-7.2.0/ext/mbstring2、执行生成configure(假设php安装在/usr/local/php目录下)/usr/local/php/bin/phpize 3、生成makefile文件./configure --with-php-config=/usr/local/php/bin/php-config4、编译&安装make && make install
5.2、pdo_mysql扩展
1、进入源码pdo_mysql文件夹cd /php-7.2.0/ext/pdo_mysql2、执行生成configure(假设php安装在/usr/local/php目录下)/usr/local/php/bin/phpize 3、生成makefile文件./configure --with-php-config=/usr/local/php/bin/php-config假如你在本地安装了mysql服务,那么需执行下面命令./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/4、编译&安装make && make install5、修改php.ini,添加一句extension=pdo_mysql.so
5.3、zlib扩展
此扩展进入源码/php-7.2.0/ext/zlib安装会出错,因此先执行下面语句1、 http://www.zlib.net/下载zlib源码wget http://www.zlib.net/zlib-1.2.11.tar.gz2、解压,配置,编译,安装tar -zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11/./configure --prefix=/usr/local/zlibmake && make install3、重新配置、编译、安装PHP,增加参数--with-zlib-dir=/usr/local/zlib./configure --prefix=/usr/local/php \--enable-sockets=shared \--with-pdo-mysql=shared,mysqlnd \--with-zlib-dir=/usr/local/zlib
5.4、curl扩展
方法一:1、去网站 http://curl.haxx.se/download/ 下载libcurl源码。我用的版本是curl-7.28.0.tar.gz 2、解压,配置,编译,安装tar -zxvf curl-7.28.0.tar.gzcd usr/src/curl-7.28.0./configure --prefix=/usr/local/curl;make && make install (3)重新编译php,增加参数--with-curl=/usr/local/curl./configure --prefix=/usr/local/php \--enable-sockets=shared \--with-pdo-mysql=shared,mysqlnd \--with-zlib-dir=/usr/local/zlib \--with-curl=/usr/local/curl
方法二:1、安装apt-get install libcurl4-gnutls-dev,如果出错,请先apt-get update2、进入源码curl文件夹cd /php-7.2.0/ext/curl3、执行生成configure(假设php安装在/usr/local/php目录下)/usr/local/php/bin/phpize 4、生成makefile文件./configure --with-php-config=/usr/local/php/bin/php-config5、编译&安装make && make install6、修改php.ini,添加一句extension=curl.so
5.5、pcntl扩展
1、进入源码pcntl文件夹cd /php-7.2.0/ext/pcntl2、执行生成configure(假设php安装在/usr/local/php目录下)/usr/local/php/bin/phpize 3、生成makefile文件./configure --with-php-config=/usr/local/php/bin/php-config4、编译&安装make && make install5、修改php.ini,添加一句extension=pcntl.so
5.6、libevent/event 扩展
由于PHP5.7以后只支持event,因此我安装的event,但是libevent的安装方法和event方法一样扩展依赖于原始的libevent库,必须先把libevent库安装1)、安装libevent库(http://libevent.org/)1. wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz2. tar -zxvf libevent-2.1.8-stable.tar.gz3. cd libevent-2.1.8-stable/4. ./configure --prefix=/usr/local/libevent-2.1.8/5. make && make install2)、安装event扩展(http://pecl.php.net/package/event)1、wget http://pecl.php.net/get/event-2.3.0.tgz2、tar -zxvf event-2.3.0.tgz 3、cd event-2.3.0/4、/usr/local/php/bin/phpize 5、./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/如果是libevent./configure --with-php-config=/usr/local/php/bin/php-config --with-libevent=/usr/local/libevent-2.1.8/6、make && make install
注:此处安装可能遇到的问题及解决方案
问题1:configure: error: Cannot find OpenSSL's <evp.h>
解决方案:apt-get install libssl-dev
问题2:configure: error: Cannot find OpenSSL's libraries
解决方案:
find / -name libssl.so
输出结果为:/usr/lib/x86_64-linux-gnu/libssl.so
初步判断它可能只会在 /usr/lib/ 下寻找 libssl.so 文件,于是:
ln -s/usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
重新编译安装即通过。
5.7、redis扩展(phpredis)
1、下载源码https://github.com/phpredis/phpredis/releaseswget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz2、mv 3.1.4.tar.gz phpredis.tar.gz3、tar -zxvf phpredis.tar.gz4、cd phpredis-3.1.4/5、/usr/local/php/bin/phpize 6、./configure --with-php-config=/usr/local/php/bin/php-config7、 make && make install
5.8、openssl扩展
1、进入源码openssl文件夹cd /php-7.2.0/ext/openssl2、执行生成configure(假设php安装在/usr/local/php目录下)cp config0.m4 config.m4/usr/local/php/bin/phpize 3、生成makefile文件./configure --with-php-config=/usr/local/php/bin/php-config4、编译&安装make && make install
注:此处安装可能遇到的问题及解决方案
问题1:configure: error: Cannot find OpenSSL's <evp.h>
解决方案:apt-get install libssl-dev
问题2:configure: error: Cannot find OpenSSL's libraries
解决方案:
find / -name libssl.so
输出结果为:/usr/lib/x86_64-linux-gnu/libssl.so
初步判断它可能只会在 /usr/lib/ 下寻找 libssl.so 文件,于是:
ln -s/usr/lib/x86_64-linux-gnu/libssl.so /usr/lib
重新编译安装即通过。
阅读全文
0 0
- php-7.2.0源码安装及扩展安装
- php源码安装扩展
- 源码安装PHP扩展mysqli
- PHP扩展及PHP7.0安装
- PHP扩展及PHP7.0安装
- 安装PHP及Memcache扩展
- kafka及php扩展安装
- redis安装及php-redis扩展安装
- RabbitMQ安装及PHP扩展安装
- 源码方式安装php扩展mcrypt
- php安装http扩展 (源码包)
- centos下源码安装php扩展
- PHP的ZMQ扩展zeromq源码安装
- linux 安装php 已有的源码扩展
- TokyoTyrant及php扩展安装说明
- Ubuntu 安装 PHP 及相关扩展
- centos安装redis及php-redis扩展
- centos安装redis及php-redis扩展
- Java获得日期
- 加入Object和function后的__proto__,prototype指针走向
- 进程间通信(一)
- 使用 Angular CLI 和 ng-packagr 构建一个标准的 Angular 组件库
- 以太坊源码(02):交易收发机制
- php-7.2.0源码安装及扩展安装
- Hibernate一
- 在ubuntu16 版本下安装谷歌启动google_chrome报错
- RF-常用关键字-Catenate
- IPsec相关知识
- python 写一个Mythread能返回线程执行的结果
- 入职任务--搭建hadoop和storm环境并测试(包含搭建文档和测试准备文档,测试文档)
- 字符设备驱动
- MySQL Binlog监听服务延迟问题排查