准备条件:已安装好的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报错,解决报错才可下一步。



