CentOS 编译安装 PHP 7.4.9

编译前准备

需要的依赖包,可以直接使用 yum install 安装。

# gcc编译
yum -y install gcc

# 依赖包
yum install bzip2 bzip2-devel libcurl libcurl-devel libwebp-devel libjpeg-devel libpng-devel libXpm-devel freetype-devel libvpx-devel gettext gettext-devel gmp-devel libxml2 libxml2-devel openssl openssl-devel readline-devel libxslt libxslt-devel

# sqlite 包
yum install sqlite-devel

# mbstring 包 源代码安装方法。
# 需要有"--libdir=/usr/lib64"参数。如果不使用这个参数,编译PHP仍将报错,编辑ldconfig配置无法解决问题。
wget https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5-rev1.tar.gz -O onig-6.9.5.tar.gz 
tar -zxvf onig-6.9.5.tar.gz 
cd onig-6.9.5/ 
./configure --prefix=/usr --libdir=/usr/lib64
make && make install 

模块对应的依赖:

  • bz2
    bzip2 bzip2-devel

  • curl
    libcurl libcurl-devel

  • gd
    libwebp-devel libjpeg-devel libpng-devel libXpm-devel freetype-devel libvpx-devel

  • gettext
    gettext gettext-devel

  • gmp
    gmp-devel

  • libxml
    libxml2 libxml2-devel

  • mbstring
    mbstring

  • openssl
    openssl openssl-devel

  • readline
    readline-devel

  • xsl
    libxslt libxslt-devel

  • zip
    libzip-devel,libzip >= 0.11
    安装libzip

下载源码包

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

解压

tar -zxvf php-7.4.9.tar.gz
cd php-7.4.9

配置编译选项

  • 编译选项
  • 常用扩展模块

我的配置:

# 路径设置:
--prefix=/usr/local/php74 \  #安装位置
--with-config-file-path=/usr/local/php74/etc \  #php.ini 配置文件路径
--with-config-file-scan-dir=/usr/local/php74/etc/php.d \  #php配置文件加载目录 *.ini
./configure \
--prefix=/usr/local/php74 \
--with-config-file-path=/usr/local/php74/etc \
--with-config-file-scan-dir=/usr/local/php74/etc/php.d \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-exif \
--enable-ftp \
--enable-fpm \
--enable-gd \
--with-gettext \
--with-gmp \
--enable-mbstring \
--with-openssl \
--enable-pcntl \
--with-pdo-mysql \
--with-pear \
--with-readline \
--enable-shmop \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-xsl \
--with-zip \
--with-zlib \
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig/ \
成功提示

编译安装

make test
make && make install
如果配置错了,需要重新编译安装。执行:
make clean
make test
make && make install

配置

在源代码目录下,拷贝php.ini到安装目录默认配置文件目录
cp php.ini-production /usr/local/php/lib/php.ini

如果配置时使用了 --with-config-file-path=/usr/local/php74/etc则拷贝到配置的目录cp php.ini-production /usr/local/php74/etc/php.ini

使用service管理:
cd sapi/
cd fpm/
cp init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm

设置开机启动:
编辑rc.local
vim /etc/rc.d/rc.local
在最后加入
/etc/init.d/php-fpm start
执行一下
ldconfig

启动

启动
service php-fpm start
停止
service php-fpm stop
重启
service php-fpm restart

额外安装Redis扩展

使用 Redis
安装完使用service php-fpm restart重启服务。在网页用phpinfo();打印配置信息,可以看到启用的redis。

参考

  • https://wujie.me/centos7-3-compile-and-install-php-7-4-1/

你可能感兴趣的:(CentOS 编译安装 PHP 7.4.9)