Linux Centos7.2 编译安装PHP7.0.2

Posted itsharehome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Centos7.2 编译安装PHP7.0.2相关的知识,希望对你有一定的参考价值。

操作环境:

1.系统:Centos7.2 

2.服务:nginx

1、下载PHP7.0.2的安装包解压,编译,安装:

$ cd /usr/src/
$ wget http://cn2.php.net/distributions/php-7.0.2.tar.gz
$ tar -zxvf php-7.0.2.tar.gz
$ cd php-7.0.2

1.1 编译前检查

请检查是否安装了gcc ,没有的话执行yum install gcc

检查是否安装了libxml2 ,没有的话执行yum install libxml2

检查是否安装了libxml2-devel,没有的话执行yum install libxml2-devel

注:因为改为用nginx了,所以编译参数中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安装PHP前,请先安装apache。*

2、编译参数配置

./configure --prefix=/usr/local/php --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu/ --enable-ftp --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-iconv --with-xpm-dir=/usr

3、相关错误及解决方案

报错 Cannot find OpenSSLs <evp.h>
 执行 yum install openssl openssl-devel
 
报错 Please reinstall the libcurl distribution
 执行 yum -y install curl-devel
 
错误 jpeglib.h not found
 执行 yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
 和执行 yum install libjpeg-devel
 
错误:checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution 这是bzip2软件包没有安装
 执行 yum install bzip2-devel.x86_64 -y
 
错误:configure: error: xpm.h not found.
 执行 yum install libXpm-devel
 
错误: Unable to locate gmp.h
 执行 yum install gmp-devel
 
错误:Unable to detect ICU prefix or /usr//bin/icu-config failed. Please verify ICU install prefix and make sure icu-config works
 执行 yum install -y icu libicu libicu-devel
 
错误:mcrypt.h not found. Please reinstall libmcrypt.
 执行 yum install php-mcrypt libmcrypt libmcrypt-devel
 
错误: configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
 执行 yum install postgresql-devel
 
错误: configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
 执行 yum install libxslt-devel

4、编译安装

make clean && make && make install

5、PHP配置

5.1 安装完成后,我们要把源码包中的配置文件复制到PHP安装目录下,源码包中有两个配置 php.ini-development php.ini-production ,看名字就知道,一个是开发环境,一个是生产环境,我们这里就复制开发环境的php配置文件

cp php.ini-development /usr/local/php/lib/php.ini

5.2 另外还需要设置系统环境变量 :修改/etc/profile文件并使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码:

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

5.3 然后执行生效命令

source /etc/profile

5.4查看PHP版本信息

php -v

6、配置php-fpm

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 /usr/src/php-7.0.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
 
chmod +x /etc/init.d/php-fpm

6.1 启动php-fpm:

/etc/init.d/php-fpm start

6.2 如果出现错误:ERROR: [pool www] cannot get uid for user ‘www-data‘,则新建www-data 用户组:

groupadd www-data
useradd -g www-data www-data

6.3 重启php-fpm

/etc/init.d/php-fpm restart

本文转自https://www.jb51.net/article/116746.htm

 

Centos7.2 编译安装PHP7.0.2的步骤

以上是关于Linux Centos7.2 编译安装PHP7.0.2的主要内容,如果未能解决你的问题,请参考以下文章

php7源码编译安装

CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11

阿里云centos7.2 搭建 laravel 框架走过的坑

linux 编译安装php7

Docker 编译安装php7.3

linux编译安装php7