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为例,解决遇到的各种坑的主要内容,如果未能解决你的问题,请参考以下文章
Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
Laravel —— could not find driver