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