Подтвердить что ты не робот

Как включить php для работы с postgresql?

<?php

try {
   $dbh = new PDO('pgsql:host=localhost;port=5432;dbname=###;user=###;password=##');
   echo "PDO connection object created";
}
catch(PDOException $e)
{
      echo $e->getMessage();
}

?>

Я получаю сообщение об ошибке "Не могу загрузить драйвер"

4b9b3361

Ответ 1

Попробуйте следующее:

Раскомментируйте следующее в php.ini, удалив ";"

;extension=php_pgsql.dll

Используйте следующий код для подключения к серверу базы данных postgresql:

pg_connect("host=localhost dbname=dbname user=username password=password")
    or die("Can't connect to database".pg_last_error());

Ответ 2

Вам нужно установить модуль pgsql для php. В debian/ubuntu есть что-то вроде этого:

sudo apt-get install php5-pgsql

Или, если пакет установлен, вам нужно включить модуль в php.ini

extension=php_pgsql.dll (windows)
extension=php_pgsql.so (linux)

ПОЗДРАВЛЕНИЯ.

Ответ 3

просто установите драйвер базы данных:

apt-get install php5-pgsql php5-mysql php5-sqlite... и так далее...

и будьте счастливы!

Ответ 4

Я установил PHP на Windows IIS с помощью Windows Platform Installer (WPΙ). WPΙ создает инструмент "Менеджер PHP" в консоли "Менеджер информационных служб IIS". Я настраиваю PHP с помощью этого инструмента.

в http://php.net/manual/en/pdo.installation.php говорит:

PDO и все основные драйверы поставляются с PHP в качестве общих расширений и просто необходимо активировать, отредактировав файл php.ini: расширение = php_pdo.dll

поэтому я активировал расширение с помощью PHP Manager, и теперь PDO отлично работает

PHP-менеджер просто добавил следующие две строки в моем php.ini, вы можете добавить строки вручную. Конечно, вы должны перезапустить веб-сервер.

[PHP_PDO_PGSQL]
расширение = php_pdo_pgsql.dll

Ответ 5

Мне нужно добавить в httpd.conf эту строку (Windows):

LoadFile "C:/Program Files (x86)/PostgreSQL/8.3/bin/libpq.dll"

Ответ 6

  • SO: Windows/Linux
  • HTTP веб-сервер: Apache
  • Язык программирования: PHP

Включить PHP для работы с PostgreSQL в Apache

В Apache я редактирую следующий файл конфигурации: C:\xampp\php.ini

Я проверяю следующие строки без комментариев:

extension=php_pgsql.dll 
extension=php_pdo_pgsql.dll

Наконец, перезапустите Apache, прежде чем пытаться установить новое соединение с ядром базы данных.


Кроме того, я оставляю свой код, который гарантирует, что соединение уникально:

private static $pdo = null;

public static function provideDataBaseInstance() {
    if (self::$pdo == null) {
        $dsn = "pgsql:host=" . HOST .
               ";port=5432;dbname=" . DATABASE .
               ";user=" . POSTGRESQL_USER .
               ";password=" . POSTGRESQL_PASSWORD;
        try {
            self::$pdo = new PDO($dsn);
        } catch (PDOException $exception) {
            $msg = $exception->getMessage();
            echo $msg . 
                 ". Do not forget to enable in the web server the database 
                  manager for php and in the database instance authorize the 
                  ip of the server instance if they not in the same 
                  instance.";
        }
    }
    return self::$pdo;
}

GL

Ответ 7

Вам нужен пакет isntall pdo_pgsql

Ответ 8

Я и многие другие бритья слишком долго тратили на это - это требует значительного улучшения. Проведя часы, я, наконец, скопировал php_pgsql.dll из каталога php ext в корневой каталог Apache24 (где бы вы его не установили), и, наконец, Apache смог загрузить модули php/pg и dll.

Ответ 9

Для установки Debian/Ubuntu

sudo apt-get install php-pgsql