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

Posted 黄昏单车

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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报错,解决报错才可下一步。

以上是关于php编译安装新模块,以pgsql为例,解决遇到的各种坑的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)

Laravel —— could not find driver

php自己编译安装后,再给这个编译安装的php版本添加拓展模块的处理办法。

如何向编译安装好的软件添加新模块