2.0 KiB
2.0 KiB
为PHP7.4安装pgsql和pdo_pgsql扩展
环境与版本
操作系统:CentOS7.9 / Debian11
在Debian上操作相对简单,所以本文以Centos7.9为例
软件版本:PHP7.4, postgresql15
操作过程
假设基本的LNMP环境都已经安装好了,但是没有安装pgsql扩展。
首先要先安装postgresql才可以安装pgsql扩展,其实不需要安装数据库的服务端,安装devel包就行了。
postgresql官方下载安装网址:https://www.postgresql.org/download/
# Install the repository RPM:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Install PostgreSQL:
# 这句和官网的不一样,官网让安装postgresql15-server,而我们只需要支持扩展,所以只安装postgresql15-devel
sudo yum install -y postgresql15-devel
以上任务执行完毕后,postgresql15的开发包被安装到了/usr/pgsql-15/
中,后面我们会用到/usr/pgsql-15/bin
这个路径。
下面需要找到我们PHP7.4的源码目录(没有的话就临时下载一份),进入源码目录src/ext/pgsql
,执行以下操作:
phpize
# 注意替换下面的PATH/TO/php-config为真实的php-config路径,用find / -name "php-config"可以找到
./configure --with-pgsql=/usr/pgsql-15/bin/ --with-php-config=PATH/TO/php-config
make
make install
正常情况下,名为pgsql.so的文件将会出现在PATH/TO/PHP/lib/php/extensions/no-debug-non-zts-20190902/
目录中,记住这个路径。
用php --ini命令找到php.ini和php-cli.ini文件,分别编辑这两个文件,在最后面添加以下内容:
[pgsql]
extension=PATH/TO/PHP/lib/php/extensions/no-debug-non-zts-20190902/pgsql.so
再次提醒,别忘了把
PATH/TO/PHP
替换成你的环境中的实际路径。
执行php -m | grep pgsql
应该可以看到pgsql扩展已经安装好了。
PHP7.4源码目录中的src/ext/pdo_pgsql
是pdo_pgsql扩展的源码,安装过程与pgsql扩展是相同的,这里就不说了。