centos 7 源码编译安装PHP

1、安装环境

#yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libxml* libXaw-devel libXmu-devel libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel libxml2-devel curl-devel

2、获取源码安装包

#wget https://www.php.net/distributions/php-7.3.6.tar.gz

#tar xzvf php-7.3.6.tar.gz -C /usr/local/        #解压到/usr/local/

3、编译安装PHP

#cd /usr/local/php-7.3.6/

#./configure \
    --prefix=/usr/local/php7 \
    --with-config-file-path=/usr/local/php7 \
    --with-config-file-scan-dir=/usr/local/php7/php.d \
    --enable-mysqlnd \
    --with-mysqli \
    --with-pdo-mysql \
    --enable-fpm \
    --with-fpm-user=nginx \
    --with-fpm-group=nginx \
    --with-gd \
    --with-iconv \
    --enable-xml \
    --enable-shmop \
    --enable-sysvsem \
    --enable-inline-optimization \
    --enable-mbregex \
    --enable-mbstring \
    --enable-ftp \
    --with-openssl \
    --enable-pcntl \
    --enable-sockets \
    --with-xmlrpc \
    --enable-soap \
    --without-pear \
    --with-gettext \
    --enable-session \
    --with-curl \
    --with-jpeg-dir \
    --with-freetype-dir \
    --enable-opcache

#编译参数说明

--prefix=/usr/local/php7         # 配置安装目录
--with-config-file-path=/usr/local/php7 # 配置文件 php.ini 的路径
--enable-sockets                 # 开启 socket 
--enable-fpm                     # 启用 fpm 扩展
--enable-cli                     # 启用 命令行模式 (从 php 4.3.0 之后这个模块默认开启所以可以不用再加此命令)
--enable-mbstring                 # 启用 mbstring 库
--enable-pcntl                     # 启用 pcntl (仅 CLI / CGI)
--enable-soap                     # 启用 soap 
--enable-opcache                 # 开启 opcache 缓存
--disable-fileinfo                 # 禁用 fileinfo (由于 5.3+ 之后已经不再持续维护了,但默认是开启的,所以还是禁止了吧)(1G以下内存服务器直接关了吧)
--disable-rpath                  # 禁用在搜索路径中传递其他运行库。
--with-mysqli                     # 启用 mysqli 扩展
--with-pdo-mysql                 # 启用 pdo 扩展
--with-iconv-dir                 # 启用 XMLRPC-EPI 字符编码转换 扩展
--with-openssl                     # 启用 openssl 扩展 (需要 openssl openssl-devel)
--with-fpm-user=nginx             # 设定 fpm 所属的用户 
--with-fpm-group=nginx             # 设定 fpm 所属的组别
--with-curl                     # 启用 curl 扩展
--with-mhash                     # 开启 mhash 基于离散数学原理的不可逆向的php加密方式扩展库
# GD
--with-gd                         # 启用 GD 图片操作 扩展
--with-jpeg-dir                 # 开启对 jpeg 图片的支持 (需要 libjpeg)
--with-png-dir                     # 开启对 png 图片支持 (需要 libpng)
--with-freetype-dir             # 开启 freetype 

# xml
--enable-simplexml                 # 启用对 simplexml 支持
--with-libxml-dir                 # 启用对 libxml2 支持

--enable-debug                     # 开启 debug 模式

#make && make install        #编译安装,过程较长

4、创建php.ini配置文件

#cd /usr/local/php-7.3.6/

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

#vim +1371 /usr/local/php7/etc/php.ini        #将1371行注释打开,php的Session存储目录

centos 7 源码编译安装PHP_第1张图片

5、设置php-fpm配置文件

#cd /usr/local/php7/etc

#cp php-fpm.conf.default php-fpm.conf

#vim +17 php-fpm.conf        #将17行注释取消并修改

centos 7 源码编译安装PHP_第2张图片

#cd /usr/local/php7/etc/php-fpm.d/

#cp www.conf.default www.conf

#vim www.conf        查看文件中一下三个内容是否如图

centos 7 源码编译安装PHP_第3张图片

 6、启动php-fpm

[[email protected] php-fpm.d]# /usr/local/php7/sbin/php-fpm

[[email protected] php-fpm.d]# ps aux | grep php-fpm

 7、配置php-fpm系统环境变量

#vim /etc/profile

#在文件最后加入一下两段

export PHP_HOME=/usr/local/php7
export PATH=$PATH:$PHP_HOME/bin:$PHP_HOME/sbin

centos 7 源码编译安装PHP_第4张图片

#source /etc/profile        #重载环境变量

#echo $PATH        #查看环境变量

 8、配置开机自启

#vim /lib/systemd/system/php-fpm.service

[Unit]                                #服务的说明
Description=php-fpm        #描述服务
After=network.target        #描述服务类别
[Service]                               #服务运行参数的设置
Type=forking                       #是后台运行的形式
ExecStart=/usr/local/php7/sbin/php-fpm        #服务的具体运行命令
ExecStop=/bin/pkill -9 php-fpm        #停止命令
PrivateTmp=true        #表示给服务分配独立的临时空间
[Install]
WantedBy=multi-user.target        #运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

#systemctl daemon-reload        #重载系统服务

#pkill php-fpm                #停止php-fpm

#systemctl start php-fpm.service        #启动php-fpm

#systemctl enable php-fpm.service        #设置开机自启

9、php-fpm 管理命令

[[email protected] ~]# systemctl stop php-fpm.service             # 停止服务
[[email protected] ~]# systemctl restart php-fpm.service         # 重新启动服务
[[email protected] ~]# systemctl status php-fpm.service        # 查看服务当前状态
[[email protected] ~]# systemctl disable php-fpm.service         # 停止开机自启动

http://t.csdn.cn/BArOc        #centos 7源码编译安装MySQL

http://t.csdn.cn/XN2Ck        #centos 7源码编译nginx

你可能感兴趣的:(centos,php,linux)