首页 > 数据库 >用PHP连接postgreSQL时遇到的问题

用PHP连接postgreSQL时遇到的问题

时间:2024-05-08 20:23:47浏览次数:30  
标签:postgreSQL libpq pgsql php8 版本 报错 PHP 连接

先说说我的环境的版本,apache是2.4的,postgreSQL为目前最新的16版本,php刚开始为7版本。

第一个问题是 PDO连接PostgreSQL报错,SCRAM authentication requires libpq version 10 or above in
这个问题是libpq的版本过低,要版本10以上,(至于libpq是什么,我目前也不懂)后来我检查了php版本发现是7.几的,下载最新的php8版本能解决这个问题
也有另一个解决方法是更改postgreSQL的一下两个文件的一些内容:在pg_hba.conf和postgresql.conf中搜索scram-sha-256,将其改为md5。但这个方法我试过不行,原因不明

第二个问题是函数未定义,下载php8后打开对应的postgreSQL拓展,但还是会报错,最后搜到园内的一个方法,就是将php8目录里的libpq.dll文件复制一份到apache2.4的bin目录里,重启apache之后就行了。这里指个路,原文说的更清楚些:https://www.cnblogs.com/caoqh/p/11542478.html

最后测试phpinfo(),pdo_pgsql跟pgsql都有了,而且能在pgsql那看到libpq的版本为11.4
关于libpq的解释:http://www.postgres.cn/docs/12/libpq.html

标签:postgreSQL,libpq,pgsql,php8,版本,报错,PHP,连接
From: https://www.cnblogs.com/toki-ano/p/18180789

相关文章

  • [BJDCTF2020]EzPHP 审计绕过
    今天来个难点的题。点击查看代码<?phphighlight_file(__FILE__);error_reporting(0);$file="1nD3x.php";$shana=$_GET['shana'];$passwd=$_GET['passwd'];$arg='';$code='';echo"<br/><font......
  • nmcli NetworkManager 的命令行工具 它允许用户管理网络连接和网络设备
    1、列出所有连接nmcliconnectionshow2、启用/禁用网络连接nmcliconnectionup<ConnectionName>nmcliconnectiondown<ConnectionName>3、连接到一个Wi-Fi网络nmclidevicewificonnect<SSID>password<password>4、显示网络设备的状态nmclidevicestatus......
  • phpcms发送邮件
     pc_base::load_sys_func('mail');sendmail($email,'您好,点击链接注册账号','注册账号请点击链接:'."<ahref=".$addr.">".$addr."</a>");会得到一个授权码(很重要)  下面代码,就是一个普通的类/***发送邮件*@p......
  • php---递归获取最上级和所有子级
    在做PHP开发的过程中,经常会需要获取最上级或所有子级的应用场景:一、获取最顶级$list=[['id'=>1,'pid'=>0,'name'=>'张飞'],['id'=>2,'pid'=>1,'name'=>'张苞'],['id'=>3,......
  • postgresql中视图建立,字段拼接,同一个表的多行之间的多个字段相减
    首先表是这样的CREATETABLEpublic.tb_realtime_data( s_idvarchar(48)NOTNULL, sensor_namevarchar(48)NULL, sensor_index_codevarchar(48)NULL, sensor_valuenumeric(20,10)NULL, statistics_statusint4NULL, alarm_timetimestampNOTNULL, create_time......
  • php-strpos 判断一个字符串是否存在于另一个字符串中
    在PHP中,你可以使用strpos()函数来判断一个字符串(例如"play")是否存在于另一个字符串中。strpos()函数会返回子字符串在原始字符串中首次出现的位置(索引从0开始),如果子字符串不存在,则返回false。以下是一个简单的示例:$string="Iliketoplaybasketball";$substring......
  • android开发板USB连接PC后adb口丢失 解决
    刚开始启动,90DB端口都是有的,屏幕上亮一下就黑了,然后modem端口一闪就没了;然后adbshell显示如下: 经确认是硬件modem相关人员修改问题导致的,modem口的导致adb口掉线了~! 解决办法是,禁用系统服务里的 WWANAutoConfig  请禁用电脑上的WWANAutoConfig,并把该服务停止......
  • 查看PHP-FPM的内存占用、进程个数等信息
    查看每个PHP-FPM进程的内存占用(并排序):1ps-ylCphp-fpm--sort:rss这个命令会显示所有php-fpm进程的内存占用情况,并按内存占用大小进行排序。查看当前php-fpm总进程数:1ps-ylCphp-fpm--sort:rss|wc-l这个命令会列出php-fpm的所有进程,然后通过wc-l计算行数,从而得到......
  • java连接redis,兼容主从切换
    使用redis的主从集群兼容情况:当redis的主从,通过网络问题或者机器异常问题发生了主从切换,程序能自动识别到主从变更,进而连master进行写操作做到无感知在使用Java连接到Redis主从集群时,确保应用程序能够在发生主从切换时自动感知并更新连接至新的主节点是非常重要的。这通常涉及......
  • 假设每次截图有个命令 shotimg ,每次只能处理最大1w高 1w宽的图,现在有一张4w*4w的图需
    为了让这个函数更加灵活以支持任意大小的图片和不同的分割大小,我们可以将函数的参数稍作调整,使其接受目标分割尺寸(targetSize)作为参数,而不是硬编码为10000。同时,我们可以使用整数除法(//)来确保分割的尺寸是整数,并且使用模数运算符(%)来检查是否需要进行最后一次不完全的分割。以下是......