CentOS编译安装PHP7.1.21环境
0.安装一大堆必备的东西
先执行
yum install -y epel-release
yum install -y libmcrypt-devel
再执行
yum -y install gcc g++ gcc+ gcc-c++
yum -y install autoconf vim pv rsync
yum -y install pcre-devel openssl openssl-devel
yum -y install libxml2 libxml2-devel libmcrypt libXpm-devel libc-client-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel
yum -y install curl gd2 gd unzip
yum -y install libevent-devel libxslt-devel freetype-devel unixODBC-devel aspell-devel readline-devel net-snmp-devel enchant-devel
yum -y install bzip2 bzip2-devel
yum -y install gmp-devel readline-devel net-snmp-devel libxslt-devel
1.下载并解压PHP
wget http://php.net/get/php-7.1.21.tar.gz/from/this/mirror
mv mirror php-7.1.21.tar.gz
tar zxvf php-7.1.21.tar.gz
cd php-7.1.21
2.配置PHP
./configure \
--prefix=/usr/local/php7 \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--enable-pcntl \
--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-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--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 \
--enable-xml \
--with-xsl \
--enable-zip \
--with-snmp \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache
3.编译
make && make install
4.出错
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
代码如下:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar zxf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install
再重新执行第2步,然后再执行第3步
出现如下错误:
/root/php-7.1.21/ext/xmlrpc/libxmlrpc/encodings.c:74: undefined reference to `libiconv_open'
vim Makefile
找到 EXTRA_LIBS =
在最后添加 -liconv
保存
再 make && make install
5.编辑php-fpm配置(用于启动PHP)
创建www用户组
groupadd www
把添加www用户并加入www组并禁止登录
useradd -g www www -s /sbin/nologin
生成php7的php-fpm
touch /usr/local/php7/etc/php-fpm.conf
vim /usr/local/php7/etc/php-fpm.conf
将下面内容黏贴进去并保存:
[global]
pid = /usr/local/php7/var/run/php-fpm.pid
error_log = /usr/local/php7/var/log/php-fpm.log
log_level = notice
daemonize = yes
[www]
user = www
group = www
listen = /tmp/php7-cgi.sock
listen.owner = www
listen.group = www
listen.mode = 0666
listen.allowed_clients = 127.0.0.1
listen.backlog = -1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 50
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
6.修改NGINX配置,让NGINX用PHP来解析PHP
vim /usr/local/nginx/conf/vhost/xxx.com.conf
找到 fastcgi_pass
将 unix:/tmp/php-cgi.sock; 改为 unix:/tmp/php7-cgi.sock;
把php.ini 拷贝到 /usr/local/php7/lib/下
7.启动php-fpm
/usr/local/php7/sbin/php-fpm
8.重启NGINX
/usr/local/nginx/sbin/nginx -s reload
9.快捷命令
执行如下命令,即可直接在ssh里执行php命令
ln -s /usr/local/php7/bin/php /usr/sbin/php
相关文章
- redis aof日志持久化
一、aof的原理 问题: 1、每个命令重写一次aof? 2、某个key修改100次,产生100行记录,aof文件会很大,怎么解决? aof重写(简化) 二、aof的配置 appendfsync
- 使用create-react-app快速搭建react环境
使用create-react-app快速搭建react环境 npm install create-react-app -g cd test_dir create-react-app demo_rea
- redis特殊功能
一、慢查询 生命周期 两点说明: (1)、慢查询发生在第三阶段 (2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。 两个配置 ``` (1)、slowlog-max-len
- solr 的Admin界面
query 1.q(query):定义查询的原始输入字符串。多个条件用AND、OR连接。一定存在在字段前加+号,不存在时在字段前面加-号 ``` company_name:上海有限责任公司 AND
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是
随机推荐
- redis aof日志持久化
一、aof的原理 问题: 1、每个命令重写一次aof? 2、某个key修改100次,产生100行记录,aof文件会很大,怎么解决? aof重写(简化) 二、aof的配置 appendfsync
- 使用create-react-app快速搭建react环境
使用create-react-app快速搭建react环境 npm install create-react-app -g cd test_dir create-react-app demo_rea
- redis特殊功能
一、慢查询 生命周期 两点说明: (1)、慢查询发生在第三阶段 (2)、客户端超时不一定慢查询,但慢查询是客户端超时的一个因素。 两个配置 ``` (1)、slowlog-max-len
- solr 的Admin界面
query 1.q(query):定义查询的原始输入字符串。多个条件用AND、OR连接。一定存在在字段前加+号,不存在时在字段前面加-号 ``` company_name:上海有限责任公司 AND
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是