踩坑日记之Win10安装postgresql并在php中启用

环境说明

  1. 操作系统: Win10
  2. Postgresql: 13
  3. PHP: 7.3
  4. Nginx: 1.8
  5. 环境搭配使用的其实是宝塔win版

遇到的问题

第一次使用Postgresql遇到很多问题, 一个一个讲, 避免后人踩坑

  1. 如果你顺利安装上Postgresql, 如果你使用本地navicat连接, 并且navicat版本如果是12.x的话, 可以连上,但是看不到表, 这个问题请直接升级你的navicat的版本, 网上有个15.的, 装上之后问题立马解决, 再也不用那个pgAdmin4了.
  2. 安装完之后, 我的php程序连不上数据库, 起初以为是数据库配置错误, 但是同样的配置在navicat就可以, 程序里就跑不动, 配置改了又改, 乃至于pgsql的配置文件都研究了一遍, 也就是那个文件防火墙, 也改了, 依然没有改善
  3. 最后使用tray_catch发现了猫腻, 并不是简单的连不上数据库, 有个提示, 翻译来大致是说, 我本地客户端版本低于10了, 网上查到资料有说是那个配置文件内允许使用的协议(METHOD)不对, 改成了md5的方式, 结果是问题依旧, 当然目前已经连上了, 但是不确定这个有没有起到作用.
  4. 接下来, 打开phpinfo的时候发现一个警告, 没有正确加载到php_pgsql.dll, 但是这个文件是确确实实在php的ext目录存在的.
  5. 网上冲浪了许久后, 说是需要把pgsql的bin目录加至环境变量中, 试了,没用.(保留意见, 因为目前成功后没删这个)
  6. 然后继续查, 说要复制文件, 但是! 网上找到的资料全都是2016年之前的, 查到的问题, 要么是让我看截图, 但是根本没图, 好不容易找到给个列表的, 但是发现当时文章截图内的文件列表和现在版本下的文件列表已经物是人非了, 根本找不到.
  7. 最后找到一个libpg.dll , 把他复制出来放到了System32目录下, 然后测试, 失败
  8. 最后, 死马当做活马医, 只把上述文章中给的列表中对比我当前路径下能找到的文件放了进去, 最后是总计放了3个: libpg.dll, libiconv-2.dll, libintl-8.dll , 能找到相同的就这三个文件了,一股脑扔进了谁他妈32文件夹, 然后重启php, 调用phpinfo, 报错没了!!!, 然后试了下, 我的程序终于tm的连同了…

结语

这个数据库, 如果没有强制要求, 如果没有特殊需求, 如果, 算了, 个人感觉是一个比SQL server配置还恶心的, 也可能, 仅仅是win下是这样吧, 以上是遇到问题总结, 仅为自己以后以防万一再次遇见安装此数据库做下问题处理思路.

如果给我一个机会, 我还是会选mysql吧.

你可能感兴趣的:(杂学,PHP,postgresql,php_pgsql.dll)