PHP要访问PostgreSQL,必须安装2个PostgreSQL的扩展库文件,pdo_pgsql和pgsql扩展。
phpinfo();如果你的PHP环境出现上图红框的这个2个扩展,就表示你的PHP可以访问PostgreSQL数据库。如果没有出现,请按以下步骤设置。
[root@iZ28lcmnq9qZ /usr/bin]#cd /usr/local/src/php-7.4.2/ext/pgsql
实际是要追加PHP编译时的项目,要重新生成一个"configure"文件,通过"phpize"文件来生成"configure"文件。
找到phpize位置
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#find / -name phpize
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#/usr/local/php/bin/phpize
经过以上命令,就在当前目录下生成了文件"configure"。
用文件"php-config"追加PHP的配置配置,php-config一般和phpize在同级目录。
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#./configure --with-php-config=/usr/local/php/bin/php-config
编译、安装
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#make
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#
make install
Installing shared extensions:
/usr/local/php/lib/php/extensions/no-debug-zts-20190902
上面提示我们要的扩展文件“pgsql.so”已经生成在目录/usr/local/php/lib/php/extensions/no-debug-zts-20190902/
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#
cd /usr/local/php/lib/php/extensions/no-debug-zts-20190902
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#ls
[root@iZ28lcmnq9qZ /usr/bin]#cd /usr/local/src/php-7.4.2/ext/pdo_pgsql
实际是要追加PHP编译时的项目,要重新生成一个"configure"文件,通过"phpize"文件来生成"configure"文件。
找到phpize位置
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#find / -name phpize
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#/usr/local/php/bin/phpize
经过以上命令,就在当前目录下生成了文件"configure"。
用文件"php-config"追加PHP的配置配置,php-config一般和phpize在同级目录。
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#./configure --with-php-config=/usr/local/php/bin/php-config
编译、安装
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#make
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#
make install
Installing shared extensions:
/usr/local/php/lib/php/extensions/no-debug-zts-20190902
上面提示我们要的扩展文件"pdo_pgsql.so"已经生成在目录/usr/local/php/lib/php/extensions/no-debug-zts-20190902/
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pdo_pgsql]#
cd /usr/local/php/lib/php/extensions/no-debug-zts-20190902
[root@iZ28lcmnq9qZ /usr/local/src/php-7.4.2/ext/pgsql]#ls
至此,我们需要的2个扩展文件pdo_pgsql.so和pgsql.so已经生成。
将2个扩展文件加入到php.ini文件。
重启PHP,查看phpinfo()。
看到红框显示的这个2个扩展,就可以在PHP里操作PostgreSQL数据库。