Like
Like Love Haha Wow Sad Angry

一、编译安装

1、安装php依赖

[root@web01 ~]# yum install gcc gcc-c++ 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 gd sqlite sqlite-devel net-snmp net-snmp-devel oniguruma oniguruma-devel

安装libzip,以支持–with-zip编译选项

# 下载地址  wget https://libzip.org/download/libzip-1.5.2.tar.gz

[root@web01 ~]# yum install -y cmake3 cmake
[root@web01 ~]# tar xf libzip-1.5.2.tar.gz 
[root@web01 ~]# cd libzip-1.5.2
[root@web01 libzip-1.5.2]# mkdir build
[root@web01 libzip-1.5.2]# cd build
[root@web01 build]# cmake3 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr ..
[root@web01 build]# make && make install 

2、编译安装php7.4.9

[root@web01 ~]# tar -xf php-7.4.9.tar.gz
[root@web01 ~]# cd php-7.4.9
[root@web01 php-7.4.9]# ./configure --prefix=/usr/local/php --enable-fpm --enable-gd --enable-mbstring --enable-sockets --enable-exif --enable-mysqlnd --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-shmop --enable-calendar --with-freetype --with-openssl --with-mysqli --with-mysql-sock --with-curl --with-bz2 --with-zip --with-zlib --with-mhash --with-jpeg --with-pdo-mysql --with-pear --disable-rpath

[root@web01 php-7.4.9]# make && make install
[root@web01 php-7.4.9]# cp php.ini-production /usr/local/php/lib/php.ini
[root@web01 php-7.4.9]# cd /usr/local/php/etc/
[root@web01 etc]# cp php-fpm.conf.default php-fpm.conf
[root@web01 etc]# cd php-fpm.d
[root@web01 php-fpm.d]# cp www.conf.default www.conf
[root@web01 php-fpm.d]# vim www.conf                    # 修改运行用户和组
[root@web01 php-fpm.d]# /usr/local/php/sbin/php-fpm

3、编译参数

--enable-fpm            #打开对PHP FastCGI管理器的支持,一般用于php+nginx
--with-curl             #支持远程curl操作
--enable-exif           #用于读取图片EXIF(图像元数据)信息
--with-mhash            #支持mhash算法,可用于密码和更新程序包。
--enable-mbstring       #启用多字节字符串支持,可以正确处理utf-8文本。
--with-mysqli           #用于连接到MySQL以进行数据库交互
--enable-mysqlnd        #用于支持mysqlnd,mysqlnd库用来访问MySQL数据库,可以提升PHP的数据库访问性能。
--with-mysql-sock[=SOCKPATH]    
    #支持使用mysql的unix domain socket连接mysql。当程序填写mysql连接方式为localhost时mysql会采用 unix domain socket连接,当主机填写为IP地址时mysql会采用tcp方式连接。
--enable-sockets        #打开 sockets 支持
--with-sodium           #高性能易用的加密库,使用chacha20加密方式,用于加密、解密、签名和生成密码哈希等等。需要依赖libsodium 。
--with-openssl          #支持openssl,用于加密传输时,可以允许与其他主机的基于SSL的连接。
--with-zip              #打开对zip的读写支持,PHP已经内置了zip解压缩。
--with-bz2              #打开对bz2的压缩和解压缩
--with-zlib             #打开对zlib库的支持
--enable-gd             #如果未安装Imagick,则GD图形库将用作功能有限的后备图像处理。
--enable-ftp            #打开ftp支持
--with-jpeg             #打开对jpeg图片的支持  
--with-freetype         #打开对freetype字体库的支持
--enable-calendar       #打开日历扩展功能
--with-pear             #打开pear命令的支持,PHP扩展用的。
--with-pdo-mysql[=DIR]  #指定支持某个mysql,DIR是MySQL的基本安装目录。
--enable-pcntl          #pcntl是一个可以利用操作系统的fork系统调用在PHP中实现多线程的进程控制的扩展
--enable-sysvsem        #System V 信号量
--enable-sysvshm        #System V 共享内存 
--enable-sysvmsg        #支持sysvmsg,消息队列 
--enable-shmop          #支持shmop,多个进程之间共享数据
--disable-rpath         #关闭额外的运行库文件
--with-fpm-user[=USER]  #指定php-fpm的运行用户
--with-fpm-group[=GRP]  #指定php-fpm的运行组
--with-gettext          #对GNU gettext 支持
--with-gmp              #对GNU MP支持

默认安装(当然还有不少,只列出部分):

--enable-mbregex    #具有多字节字符支持的正则表达式函数,禁用后,多字节字符,例如汉字,无法用于正则表达式的匹配。
--enable-json       
    #支持json(JavaScript Object Notation)是一种用于结构化数据的最小可读格式。它主要用于在服务器和Web应用程序之间传输数据,以替代XML。    
--enable-xml        #打开对XML的支持
--enable-hash       #对hash算法的支持
--enable-session    #对session的支持
--disable-debug     #关闭调试模式 
--enable-pdo        #用于数据库
--enable-inline-optimization        #用于优化线程

二、yum安装

# 配置php源
[root@web01 ~]# yum install epel-release -y
[root@web01 ~]# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

# 安装wordpress所需的插件
[root@web1 ~]# yum install php74-php-fpm php74-php-sodium php74-php-gd php74-php-pecl-zip php74-php-pdo php74-php-mysqlnd php74-php-mbstring php74-php-pecl-mysql php74-php-xml php74-php-pecl-imagick php74-php-pecl-imagick-devel

以上是基本需求,至于还需要什么扩展,看自身需求。例如要用到redis,安装php74-php-pecl-redis5;或者缓存相关等等,安装php74-php-pecl-memcached、php74-php-opcache等。
Like
Like Love Haha Wow Sad Angry

发表评论