[LNMPA搭建七]PHP扩展安装

1、安装前言

鄙人在教程五当中介绍了《Nginx服务器详细【配置】》在文章后有个议性说明。
在安装好 phpMyAdmin后浏览器访问 you ip/phpMyAdmin 时报了如下错误:


这里写图片描述

我们的教程从这里开始 。
如有不懂如何安装php扩展的请查看《PHP扩展安装原理》

2、前期准备

下载php源码并解压
本人的下载解压地址是 /data/soft/php/php-5.6.30--code
进入解压源码目录里面的ext目录
cd /data/soft/php/php-5.6.30--code/ext

3、mbstring扩展安装

cd mbstring
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config 
make 
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

继续访问 you ip/phpMyAdmin 报如下错误

这里写图片描述

4、安装mysql扩展和mysqli扩展

4.1mysql扩展

cd /data/soft/php/php-5.6.30--code/ext/mysql
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mysql=/data/soft/mariadb
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

4.2mysqli扩展

cd /data/soft/php/php-5.6.30--code/ext/mysqli
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mysqli=/data/soft/mariadb/bin/mysql_config

参数说明:--with-mysqli mysql(mariadb)安装地址bin下的mysql_config

出现错误 :参考地址:http://www.cnblogs.com/xiaoqian1993/p/6277771.html

fatal error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory

解决方案:

 pwd 
/data/soft/php/php-5.6.30--code/ext/mysqli
 vim mysqli_api.c
#把第36行的
include "ext/mysqlnd/mysql_float_to_double.h"
#修改为
include "/data/soft/php/php-5.6.30--code/ext/mysqlnd/mysql_float_to_double.h"

重新执行make && make install

修改 vi /data/conf/php/php.ini里面的 extension=mysqli.so 开启扩展
重启service php-fpm restart

到目前为止 继续访问you ip/phpMyAdmin正常

接下来我们安装其他的扩展

5、curl扩展

扩展说明:curl是php中经常用到的比如:网页扒去,访问第三方api

5.1、安装curl扩展依赖库

cd /data/soft/php
tar -xvf curl-7.52.1.tar.gz
mkdir curl
cd curl-7.52.1
./configure --prefix=/data/soft/php/curl --enable-shared
make
make install

5.2、安装curl扩展

进入安装原php的源码目录

cd /data/soft/php/php-5.6.30--code/ext/
cd curl
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-curl=/data/soft/php/curl
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=curl.so 开启扩展
重启service php-fpm restart

6、GD动态图库扩展

6.1、依赖库安装

6.1-1、安装zlib 前方安装nginx时,已经安装。此处忽略。

6.1-2、 yum install libXpm-devel

6.1-3、安装jpegsrc

cd /data/soft/php
tar -xvf jpegsrc.v9b.tar.gz
mkdir jpegsrc
cd jpeg-9b
./configure --prefix=/data/soft/php/jpegsrc --enable-shared --enable-static
make 
make install

6.1-4、 安装libpng

cd /data/soft/php
tar -xvf libpng-1.6.28.tar.gz
mkdir libpng
cd libpng-1.6.28
./configure --prefix=/data/soft/php/libpng --enable-shared --enable-static
make 
make install

6.1-5、安装freetype2

cd /data/soft/php
tar -xvf freetype-2.7.1.tar.gz
mkdir freetype
cd freetype-2.7.1
./configure --prefix=/data/soft/php/freetype
make 
make install

6.1-6、 gd安装

cd /data/soft/php
tar -xvf libgd-2.2.4.tar.gz
mkdir libgd
cd libgd-2.2.4
./configure --prefix=/data/soft/php/libgd --with-jpeg=/data/soft/php/jpegsrc --with-png=/data/soft/php/libpng --with-freetype=/data/soft/php/freetype --with-zlib=/data/soft/nginx/zlib
make 
make install

6.2安装gd扩展

    进入安装原php的源码目录
cd /data/soft/php/php-5.6.30--code/ext/
cd gd
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-gd=/data/soft/php/libgd --with-png-dir=/data/soft/php/libpng --with-jpeg-dir=/data/soft/php/jpegsrc --with-freetype-dir=/data/soft/php/freetype --with-zlib-dir=/data/soft/nginx/zlib
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=gd.so 开启扩展
重启service php-fpm restart

7、mcrypt库加密扩展

7.1-1.先安装Libmcrypt

cd /data/soft/php
tar -xvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure #默认安装否则mcrypt安装报错(或添加软连接)
make
make install

7.1-2.安装mhash

cd /data/soft/php
tar -xvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure     #默认安装否则mcrypt安装报错(或添加软连接)
make
make install

7.1-3.安装mcrypt

 cd /data/soft/php
 tar -xvf mcrypt-2.6.8.tar.gz
 mkdir mcrypt
 cd mcrypt-2.6.8
 LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/data/soft/php/mcrypt
 make
 make install

7.2.安装mcrypt扩展

进入安装原php的源码目录
cd /data/soft/php/php-5.6.30--code/ext/
cd mcrypt
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-mcrypt=/data/soft/php/mcrypt
make
make install

修改 vi /data/conf/php/php.ini里面的 extension=gd.so 开启扩展
重启service php-fpm restart

8、libevent网络库扩展(第三方扩展)

8.1、安装libevent库

cd cd /data/soft/php
wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar -xvf libevent-2.1.8-stable.tar.gz
mkdir libevent
./configure --prefix=/data/soft/php/libevent
make && make install

8.2、安装libevent扩展

由于是第三方扩展源码包没有扩展库。扩展库下载地址:https://pecl.php.net/package/libevent

cd cd /data/soft/php
wget https://pecl.php.net/get/libevent-0.1.0.tgz
tar -xvf libevent-0.1.0.tgz
cd libevent-0.1.0
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config --with-libevent=/data/soft/php/libevent
make && make install

修改 vi /data/conf/php/php.ini里面的 extension=libevent.so 开启扩展
重启service php-fpm restart

8.3、安装pcntl多线程扩展

cd /data/soft/php/php-5.6.30--code/ext/pcntl
/data/soft/php/php5.6/bin/phpize
./configure --with-php-config=/data/soft/php/php5.6/bin/php-config 
make 
make install

修改 vi /data/conf/php/php.ini里面的 extension=mysql.so 开启扩展
重启service php-fpm restart

最后关于扩展说明

为什么安装libevent扩展他有什么用
具体参考《workerman和webSocket与libevent扩展的关系》

本人本篇的研究笔记资料:链接:http://pan.baidu.com/s/1miTtSmO 密码:zexp

你可能感兴趣的:([LNMPA搭建七]PHP扩展安装)