1. 程式人生 > 其它 >[LNMPA搭建七]PHP擴充套件安裝

[LNMPA搭建七]PHP擴充套件安裝

技術標籤:mysqllinuxnginxcentosphp

1、安裝前言

鄙人在教程五當中介紹了<a href="http://blog.csdn.net/sinat_22878395/article/details/60335312" target="_blank">《Nginx伺服器詳細【配置】》</a>在文章後有個議性說明。
在安裝好 phpMyAdmin後瀏覽器訪問 you ip/phpMyAdmin 時報瞭如下錯誤:

這裡寫圖片描述

我們的教程從這裡開始 。
如有不懂如何安裝php擴充套件的請檢視<a href="http://blog.csdn.net/sinat_22878395/article/details/60765407" target="_blank">《PHP擴充套件安裝原理》</a>

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擴充套件他有什麼用
具體參考<a href="http://blog.csdn.net/sinat_22878395/article/details/60768677" target="_blank">《workerman和webSocket與libevent擴充套件的關係》</a>

本人本篇的研究筆記資料:連結:http://pan.baidu.com/s/1miTtSmO 密碼:zexp