编译前准备
需要的依赖包,可以直接使用 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/ \
![](https://img.haomeiwen.com/i3442154/edb0d3144dc0eb94.png)
编译安装
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。
网友评论