centos 安装 php7

centos6.5 安装php7:
我采用的是编译安装方式。步骤如下:
1.安装依赖包
2.下载源码包
3.解压
4.配置configure
5.编译执行
6.配置
7.运行

1.安装依赖包
安装php7前需要安装所有的依赖,可参考如下(我需要用到postgresql,所以需要安装 postgresql-devel):

# yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel pcre-devel postgresql-devel -y

2.下载源码包:

# wget http://cn2.php.net/get/php-7.0.6.tar.gz/from/this/mirror php-7.0.6.tar.gz

3. 解压:

$ tar zxvf php-7.0.6.tar.gz

进入解压目录:

# cd php-7.0.6

4. 创建编译配置文件: 我使用的是postgresql 数据 ,因此需要加载 pdo-pgsql  

# ./configure \

--prefix=/usr/local/php7.0.12 \
--with-config-file-path=/usr/local/php7.0.12/etc \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-pdo-pgsql=/usr/pgsql-9.5 \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--with-pear \
--enable-opcache \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql


安装可能会出现异常的报错,一般是依赖导致的,根据报错信息安装和修复相关依赖:

比如:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

这种情况就需要编译安装libmcrypt,因为yum安装的内容没有mcrypt.h文件。】

下载源代码:

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

解压:

tar xvf libmcrypt-2.5.7.tar.gz

配置:

cd libmcrypt-2.5.7

./configure

编译

make

make install

完毕后,我们发现多了文件

/usr/local/include/mcrypt.h

 

如果出现“configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no”之类的错误
解决办法:
ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/libmysqlclient.so
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

在/etc/ld.so.conf.d中添加local.conf文件:

# echo "/usr/local/lib">> /etc/ld.so.conf.d/local.conf

更新动态库:

# ldconfig -v

  

 5.编译执行

# make  &&  make install

编译错误会有日志信息。有错误一般是依赖没有安装或者依赖的配置路径不对,比如要引入pdo_pgsql  ,需要在配置中添加且后面要指定已经安装的pgsql数据的安装路径:  --with-pdo-pgsql=/usr/pgsql-9.5/

编译成功后建议将php的路径添加到环境变量path中,这样每次登陆都会自动匹配到php的路径。

# vim /etc/profile

在末尾加入

PATH=$PATH:/usr/local/php/bin

export PATH

要使改动立即生效执行

# ./etc/profile

或 

# source /etc/profile

查看php版本
# php -v

 

6.配置php-fpm

配置主要是启动的配置加载文件

# cp php.ini-production /etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm

 7.运行

# /etc/init.d/php-fpm
# ps -ef | grep php // 可以查看启动的进程, netstat -an -tcp | grep php 可以查看网络端口9000已经启动。

 

posted on 2016-05-27 12:03  mywebnumber  阅读(664)  评论(0编辑  收藏  举报