Включить поддержку PHP для postgresql в Ubuntu 11.04 server

Я установил Apache2 с поддержкой php5, и все работает там. Я установил PostgreSQL и могу подключиться к нему с помощью терминала и выполнить инструкции SQL.

проблема: я не могу получить рабочее соединение между моими PHP-скриптами и базой данных PostgreSQL. Я установил php5-pgsql, упакованный из репозиториев, но соединение просто не будет работать.

Я получаю следующее сообщение об ошибке:

PHP фатальная ошибка: вызов неопределенная функция pg_connect () в /var/www/[myfile].php on line [X]

Как включить поддержку соединений PostgreSQL в PHP5 в ubuntu 11.04?

EDIT: проверено phpinfo () и не найдено записей для PostgreSQL. Я не знаю, почему это так, я установил пакет php5-pgsql для ubuntu 11.04.

вот что сработало: я установил phppgadmin из репозиториев Ubuntu. Мало того, что это делает хороший инструмент доступным для меня сейчас, он также установил необходимые пакеты для php для подключения к postgresql.

после этого все было в параметрах соединения. Он не будет подключаться к базе данных на локальном сервере, пока я не определю хост соединения, порт, базу данных, пользователя и пароль в этом порядке в pg_connect().

Я до сих пор не знаю, почему установка php5-pgsql самостоятельно не включила соединения PostgreSQL с php. Любой вклад в это был бы полезен.

3 ответов


установка пакета php5-pgsql решает проблему. (в зависимости от версии ... php4-pgsql для php4)

apt-get install php5-pgsql

Не забудьте перезапустить Apache.

/etc/init.d/apache2 restart

--обратите внимание, что это может быть трудно, если вы не администрировать ваш сервер.


В настоящее время я использую Ubuntu 16.04 LTS. Я тоже столкнулся с той же проблемой при получении значений базы данных Postgress с помощью Php, поэтому я решил ее с помощью приведенных ниже команд.

моя версия PHP-7.0, поэтому я попробовал следующую команду.

apt-get install php-pgsql

не забудьте перезапустить Apache.

/etc/init.d/apache2 restart

ниже мой код, может быть, кто-то получит выгоду :

- база данных testdb.в PHP

<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> 

единственный вывод, который я могу сделать, это то, что phppgadmin установил все необходимые пакеты для подключения PHP5 к PostgreSQL. Я просмотрел зависимости, и я считаю, что я либо не установил их вообще, либо не установил их правильно.

Мне нужна помощь в этой области, так как у меня есть рабочая установка и знать хотя бы один способ получения ссылки.