如何编译安装php的模块?

PHP

1 前言

如果你需要配置Apache HTTPD,那么你可能像笔者一样有需要增加模块的需求,一下步骤可供你参考。

2 最佳实践

2.1 环境配置

2.1.1 配置LAMP环境
环境的配置:
https://www.cmdschool.org/archives/3060
2.1.2 安装环境

yum -y install gcc gcc-c++ make expat-devel

2.1.3 安装插件配置环境

yum install -y autoconf

2.2 安装本地模块

2.2.1 进入模块目录

cd ~/php-x.x.x/ext/gd

2.2.2 生成configure执行文件

phpize

2.2.3 预编译

./configure

2.2.4 编译并安装

make
make install

2.2.5 动态加载模块

vim /etc/php.ini

加入如下配置:

extension=gd.so

2.2.7 重启服务是配置生效

systemctl reload httpd

2.3 安装非本地模块

2.3.1 查找本地模块

cd ~/php-x.x.x/ext/
ls -l *dom*

注:如果本地有PHP源码目录,请先确认本地有没有该模块,如果没有,执行下面的线上查找并下载

2.3.2 线上查找模块

pecl search dom

显示如下:

.Matched packages, channel pecl.php.net:
=======================================
Package       Stable/(Latest) Local
dom_varimport 1.11.3 (stable)       Convert nested arrays into DOMDocument

2.3.3 下载模块

pecl download dom_varimport

2.3.4 解压模块

tar -xf dom_varimport-1.11.3.tgz

2.3.5 生成configure执行文件

cd dom_varimport-1.11.3
phpize

2.3.6 预编译

./configure

如果有以下错误提示,

configure: error: xml2-config not found. Please check your libxml2 installation.

则需要按照提示信息增加依赖的编译包,

yum install -y libxml2-devel

2.3.7 编译并安装

make
make install

2.3.8 动态加载模块

vim /etc/php.ini

加入如下配置:

extension=dom_varimport.so

2.3.9 重载服务使配置生效

systemctl reload httpd
没有评论

发表回复

PHP
如何基于RHEL 9.x编译安装PHP-FPM 8.x?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …

PHP
如何基于CentOS 7.x编译安装PHP-FPM?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …

Apache
如何部署Oracle Linux 9.x LAMP环境?

1 理论部分 – LAMP是Linux+Apache+MySQL+PHP的简写 &#82 …