Centos7

84 阅读4分钟
+ [4- 安装mhash hash加密算法库](#4-%E5%AE%89%E8%A3%85mhash-hash%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95%E5%BA%93)
+ [5- 安装mcrypt 依赖libmcrypt和mhash](#5-%E5%AE%89%E8%A3%85mcrypt-%E4%BE%9D%E8%B5%96libmcrypt%E5%92%8Cmhash)
+ [6- 安装re2c](#6-%E5%AE%89%E8%A3%85re2c)
+ [7- 安装php](#7-%E5%AE%89%E8%A3%85php)
	- [7-1 创建ldap软连接](#7-1-%E5%88%9B%E5%BB%BAldap%E8%BD%AF%E8%BF%9E%E6%8E%A5)
	- [7-2 编译](#7-2-%E7%BC%96%E8%AF%91)
	- [7-3 复制配置文件](#7-3-%E5%A4%8D%E5%88%B6%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6)
	- [7-4 开启系统HugePages](#7-4-%E5%BC%80%E5%90%AF%E7%B3%BB%E7%BB%9Fhugepages)
	- [7-5 修改php配置文件支持ZendOpcache](#7-5-%E4%BF%AE%E6%94%B9php%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%94%AF%E6%8C%81zendopcache)
	- [7-6 修改php配置文件支持pdo\_mysqlmysqli](#7-6-%E4%BF%AE%E6%94%B9php%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E6%94%AF%E6%8C%81pdomysqlmysqli)
	- [7-7 安装xdebug扩展调试PHP用不需要时可忽略](#7-7-%E5%AE%89%E8%A3%85xdebug%E6%89%A9%E5%B1%95%E8%B0%83%E8%AF%95php%E7%94%A8%E4%B8%8D%E9%9C%80%E8%A6%81%E6%97%B6%E5%8F%AF%E5%BF%BD%E7%95%A5)
	- [7-8 安装memcahced扩展 需要 libmemcached 库](#7-8-%E5%AE%89%E8%A3%85memcahced%E6%89%A9%E5%B1%95-%E9%9C%80%E8%A6%81-libmemcached-%E5%BA%93)
	- [7-9 安装redis扩展](#7-9-%E5%AE%89%E8%A3%85redis%E6%89%A9%E5%B1%95)
	- [7-10 安装php-fpm](#7-10-%E5%AE%89%E8%A3%85php-fpm)
	- [7-11 设置php-fpm自动启动](#7-11-%E8%AE%BE%E7%BD%AEphp-fpm%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8)
	- [7-12 启动php-fpm](#7-12-%E5%90%AF%E5%8A%A8php-fpm)

1- 安装依赖

yum install wget autoconf  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel  bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap  libXpm\* gcc gcc-c++ bison git -y

2- 安装libiconv

 #加强系统对支持字符编码转换的功能
 cd /usr/local/src
 wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
 tar zvxf libiconv-1.14.tar.gz
 cd libiconv-1.14
 ./configure 
 cd srclib
 sed -i -e '/gets is a security/d' ./stdio.in.h
 cd ..
 make && make install
 ln -sf /usr/local/lib/libiconv.so.2 /usr/lib64/
 ldconfig

3- 安装libmcrypt (包含libltdl)

#加密算法库,PHP扩展mcrypt功能对此库有依赖关系
 cd /usr/local/src
 wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
 tar zvxf libmcrypt-2.5.8.tar.gz
 cd libmcrypt-2.5.8
 ./configure && make && make install
 cd libltdl/
 ./configure --enable-ltdl-install
 make && make install
 ln -sf /usr/local/lib/libmcrypt.* /usr/lib64/
 ln -sf /usr/local/bin/libmcrypt-config /usr/lib64/
 ldconfig

4- 安装mhash (hash加密算法库)

 #mcrypt的编译依赖mhash
 cd /usr/local/src/
 wget http://sourceforge.net/projects/mhash/files/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
 tar zvxf mhash-0.9.9.9.tar.gz
 cd mhash-0.9.9.9
 ./configure && make && make install
 ln -sf /usr/local/lib/libmhash.* /usr/lib64/
 ldconfig

5- 安装mcrypt (依赖libmcrypt和mhash)

 cd /usr/local/src/
 wget http://sourceforge.net/projects/mcrypt/files/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
 tar zvxf mcrypt-2.6.8.tar.gz
 cd mcrypt-2.6.8
 ./configure && make && make install

6- 安装re2c

 cd /usr/local/src/
 wget http://sourceforge.net/projects/re2c/files/0.16/re2c-0.16.tar.gz
 tar zvxf re2c-0.16.tar.gz
 cd re2c-0.16
 ./configure && make && make install

7- 安装php

7-1 创建ldap软连接

 ln -s /usr/lib64/libldap* /usr/lib
 ln -s /usr/lib64/liblber* /usr/lib
 ldconfig

7-2 编译

 cd /usr/local/src/
 wget http://am1.php.net/distributions/php-7.0.13.tar.gz
 tar zvxf php-7.0.13.tar.gz
 cd php-7.0.13
 ./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-openssl \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-iconv-dir=/usr/local \
--with-libxml-dir=/usr \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-curl \
--with-mhash \
--with-ldap \
--with-ldap-sasl \
--with-mcrypt \
--with-gd \
--with-xmlrpc \
--with-libdir=/lib/ \
--with-kerberos \
--with-pcre-regex \
--with-zlib-dir \
--with-bz2 \
--with-gettext \
--disable-rpath \
--enable-pdo \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--enable-zip \
--enable-soap \
--enable-opcache \
--enable-calendar \
--enable-ctype \
--enable-exif \
--enable-session \
--enable-ftp 
 make ZEND_EXTRA_LIBS='-liconv'
 make install
 

7-3 复制配置文件

 cp php.ini-production /usr/local/php7/etc/php.ini

7-4 开启系统HugePages

 sysctl vm.nr_hugepages=512
 cat /proc/meminfo | grep Huge

7-5 修改php配置文件,支持ZendOpcache

 ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012
 vim /usr/local/php7/etc/php.ini

在文件中搜索; extension_dir = “./” ,并在下面添加以下内容(如果extension_dir已存在,只添加后面的内容)

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
zend_extension="opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable=1
opcache.enable_cli=1
opcache.huge_code_pages=1
opcache.file_cache=/tmp

:wq 保存退出

7-6 修改php配置文件,支持pdo_mysql,mysqli

vim /usr/local/php7/etc/php.ini

在文件中搜索; extension_dir = “./” ,并在下面添加以下内容(如果extension_dir已存在,只添加后面的一行)

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
extension = "pdo_mysql.so"
extension = "mysqli.so"

:wq 保存退出

7-7 安装xdebug扩展(调试PHP用,不需要时可忽略)

 cd /usr/local/src/
 wget http://xdebug.org/files/xdebug-2.4.0rc3.tgz
 tar zvxf xdebug-2.4.0rc3.tgz
 cd xdebug-2.4.0RC3
 /usr/local/php7/bin/phpize
 ./configure --enable-xdebug --with-php-config=/usr/local/php7/bin/php-config
 make && make install

修改php配置文件,支持xdebug

vim /usr/local/php7/etc/php.ini

在文件中搜索; extension_dir = “./” ,并在下面添加以下内容(如果extension_dir已存在,只添加后面的一行)

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
[xdebug]
zend_extension = "xdebug.so"
xdebug.remote_enable=1
xdebug.remote_connect_back=on
xdebug.remote_port=8080
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1

:wq 保存退出

7-8 安装memcahced扩展 (需要 libmemcached 库)

 cd /usr/local/src
 wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
 tar zvxf libmemcached-1.0.18.tar.gz
 cd libmemcached-1.0.18
 ./configure --with-memcached --prefix=/opt/libmemcached
 make && make install

 cd /usr/local/src
 yum install git
 git clone https://github.com/rlerdorf/php-memcached.git
 cd php-memcached
 git checkout php7
 /usr/local/php7/bin/phpize
 ./configure --with-php-config=/usr/local/php7/bin/php-config --with-libmemcached-dir=/opt/libmemcached
 make && make install
 ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

修改php配置文件,支持memcached

vim /usr/local/php7/etc/php.ini

在文件中搜索; extension_dir = “./” ,并在下面添加以下内容(如果extension_dir已存在,只添加后面的一行)