php编译安装新模块,以pgsql为例,解决遇到的各种坑

准备条件:已安装好的php,nginx,可运行访问的php环境,输出phpinfo(),如下图:
在这里插入图片描述
安装一个上传下载的工具 yum -y install lrzsz,rz:上传,sz:下载

# 切换到源码php库目录pgsql
cd /usr/local/src/php-7.3.28/ext/pgsql/

在这里插入图片描述

# 查找phpize所在目录
whereis phpize
# phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
# 使用phpize生成configure文件,注意有没有报错信息,如下图。没有的话可忽略下一步
/usr/local/php/bin/phpize

在这里插入图片描述

# 安装autoconf可以自动地配置软件源代码
yum -y install autoconf

在这里插入图片描述

# 重新执行phpize生成configure文件
/usr/local/php/bin/phpize

在这里插入图片描述

# 查找php-config位置
whereis php-config
# 配置编译参数,主要是配置php配置文件参数
./configure --with-php-config=/usr/local/php/bin/php-config
# 如果报错,如下图,有两个报错:

1:configure: WARNING: You will need re2c 0.13.4 or 
later if you want to regenerate PHP parsers
Re2c 是用于 C、C++ 和 Go 的免费开源词法分析器生成器,专注于生成快速代码。
也就是提高性能,需要进行升级
# 下载地址,下载到桌面,利用上面的上传工具上传到服务器
https://sourceforge.net/projects/re2c/files/1.0.1/re2c-1.0.1.tar.gz/download
# 上传到服务器目录
/usr/local/src
# 解压压缩包
tar -zxf re2c-1.0.1.tar.gz
# 进入解压文件目录
cd re2c-1.0.1
# 配置
./configure --prefix=/usr/local/re2c
# 编译安装
make && make install

2:configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
由于缺少postgresql-devel工具原因
# 安装postgresql-devel
yum -y install postgresql-devel

# 解决完上面两个报错,再次执行编译参数命令
./configure --with-php-config=/usr/local/php/bin/php-config
# 最后进行编译安装,成功后出现pgsql.so文件
make && make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 修改php.ini文件,去掉相关配置前面的分号 ; 
vim /usr/local/php/etc/php.ini
# 重启php
systemctl restart php-fpm
# 查看已安装扩展,或者phpinfo页面搜索pgsql
php -m

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结:每一步执行完,观察是否存在error报错,解决报错才可下一步。

猜你喜欢

转载自blog.csdn.net/cxhblog/article/details/120842874
今日推荐