我有一个在 php 上运行的 Web 应用程序,它连接到在远程 Ubuntu 服务器上运行的 postgreql 数据库。
为了检查 apache 中的 php 模块,我创建了一个调用 phpinfo() 函数的文件,当在浏览器中显示时,给出 php.ini 文件的路径 - /etc/php/8.3/apache2/php.ini 在此输入图片描述
如你所见,php 版本 8.3 Postgresql 是版本 16
我用 nano 编辑了这个文件 (php.ini),以启用 postgresql 的 PDO 驱动程序,删除这些行开头的分号(从而取消注释它们)。我多次停止并启动 apache 2 服务(sudo systemctl stop apache2.service、sudo systemctl restart apache2.service)
尽管如此,phpinfo 文件仍然显示 PDO 驱动程序未启用(无值)。 在此输入图片描述 毫不奇怪,我的应用程序无法运行,因为它无法建立连接。
我之前已经做过好几次这个程序了,包括我自己本地的Ubuntu计算机,但从来没有遇到过这个问题
Tim Gavin 提供了答案,您需要安装 postgres 驱动程序。 sudo apt-get install php8.3-pgsql 然后在 php.ini 中取消注释相关行后,PDO 驱动程序将启用