在Ubuntu 11.04服务器中启用对postgresql的PHP支持

在Ubuntu 11.04服务器中启用对postgresql的PHP支持,php,postgresql,apache2,ubuntu-11.04,Php,Postgresql,Apache2,Ubuntu 11.04,我已经安装了支持php5的Apache2,一切都在那里工作。我已经安装了PostgreSQL,能够使用终端连接到它并执行SQL语句 问题:我的php脚本和PostgreSQL数据库之间无法建立工作连接。我已经安装了从存储库打包的php5 pgsql,但是连接无法工作 我收到以下错误消息: PHP致命错误:调用/var/www/[myfile].PHP第[X]行中未定义的函数pg_connect() 如何在ubuntu 11.04的PHP5中启用对PostgreSQL连接的支持 编辑:选中phpi

我已经安装了支持php5的Apache2,一切都在那里工作。我已经安装了PostgreSQL,能够使用终端连接到它并执行SQL语句

问题:我的php脚本和PostgreSQL数据库之间无法建立工作连接。我已经安装了从存储库打包的php5 pgsql,但是连接无法工作

我收到以下错误消息:

PHP致命错误:调用/var/www/[myfile].PHP第[X]行中未定义的函数pg_connect()

如何在ubuntu 11.04的PHP5中启用对PostgreSQL连接的支持

编辑:选中phpinfo(),未找到PostgreSQL的条目。我不知道为什么会这样,我确实为ubuntu 11.04安装了php5 pgsql包

以下是工作原理:我从Ubuntu存储库安装了phppgadmin。这不仅为我提供了一个很好的工具,它还安装了php连接到postgresql所需的软件包

之后,一切都在连接参数中。在我在pg_connect()中按顺序定义连接主机、端口、数据库、用户和密码之前,它不会连接到本地服务器上的数据库


我仍然不知道为什么我自己安装php5 pgsql不能从php启用PostgreSQL连接。这方面的任何输入都会有帮助。

我能得出的唯一结论是phppgadmin安装了所有需要的软件包,以使PHP5连接到PostgreSQL。我已经查看了依赖项,我认为我要么根本没有安装它们,要么安装不正确

在这个竞技场上,我不需要更多的帮助,因为我有一个工作设置,并且知道至少一种达到这一点的方法。

。(取决于php4的版本…php4 pgsql)

记住重新启动Apache

/etc/init.d/apache2 restart

--请注意,如果您不管理服务器,这可能会很困难。

目前,我使用的是Ubuntu 16.04 LTS。 我在使用Php获取Postgress数据库值时也遇到了同样的问题,所以我使用以下命令解决了这个问题

我的PHP版本是7.0,所以我尝试了下面的命令

apt get install php pgsql


记得重新启动Apache

/etc/init.d/apache2 restart
下面是我的代码,可能会有人受益:

-testdb.php

朋友ID
名称

echo phpinfo();看看是否在Fedora中启用了PostgreSQL数据库,您可以输入为Ubuntu 14.04、apache2、php5、postgres 9.11.3工作的
dnf安装php pgsql
。看起来很奇怪,但我以前做过:“ServiceApache2Restart”,跳过了“sudo/etc/init.d/Apache2Restart”方法。刚才我使用了“sudo/etc/init.d/apache2 restart”方法,而不是使用“service”,突然我不再收到PHP/postgress配置数据库连接错误。谢谢
/etc/init.d/apache2 restart
<html> 
    <body> 
        <table border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
                <td> 
                    Friend ID 
                </td> 
                <td> 
                     Name 
                </td> 

            </tr> 
        <?php 
        $db = pg_connect('host=localhost dbname=postgres user=postgres password=root port=5432'); 

        $query = "SELECT * FROM account"; //account is name of table 

        $result = pg_query($query); 
        if (!$result) { 
            echo "Problem with query " . $query . "<br/>"; 
            echo pg_last_error(); 
            exit(); 
        } 

        while($myrow = pg_fetch_assoc($result)) { 
            printf ("<tr><td>%s</td><td>%s</td></tr>", $myrow['id'], htmlspecialchars($myrow['name']));
        } 
        ?> 
        </table> 
    </body> 
</html>