2012-05-17 13 views
21
<?php 

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

?> 

otrzymuję komunikat o błędzie „Nie można załadować sterownika”Jak włączyć php do pracy z postgresql?

+0

http://stackoverflow.com/a/7240866/705198 Obejmuje ten problem w pochodnych systemu Debian Linux. – AndrewPK

Odpowiedz

25

Spróbuj tego:

Odkomentuj następujących w php.ini usuwając ";"

;extension=php_pgsql.dll 

użyć następującego kodu, aby połączyć się z serwerem bazy danych PostgreSQL:

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

Wciąż widzę 'PHP Błąd krytyczny: Call to undefined function pg_connect()', chociaż * wiem * Mam odkomentowałem to. Pomysły? – IIllIIll

0

Trzeba isntall pakiecie pdo_pgsql

+2

Jak zainstalować ten pakiet w systemie Windows? – Aaron

+1

Może 'pecl install pdo_pgsql'. Nie jestem pewien –

64

Musisz zainstalować moduł pgsql dla php. w Debian/Ubuntu jest coś takiego:

sudo apt-get install php5-pgsql 

Lub jeśli jest zainstalowany pakiet, musisz włączyć moduł de w php.ini

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

greatings.

+0

Witam, czy wiesz, jak zainstalować go w systemie Windows? Niestety nie mam jeszcze ubuntu. – Aaron

+0

Zależy. Używasz wampira lub czegoś w tym stylu? –

+1

spróbuj najpierw włączyć moduł, edytując php.ini i wyszukanie php_pgsql i usunięcie; na początku linii. Następnie musisz przeładować swoją usługę. –

2

wystarczy zainstalować sterownik bazy danych:

apt-get install php5-pgsql php5-mysql php5-sqlite ... and so on ...

i być szczęśliwym!

+0

Załaduj ponownie config PHP (przeładuj apache/nginx itp.) Po zainstalowaniu nowych rozszerzeń – Maks3w

2

Zainstalowałem PHP na Windows IIS przy użyciu Instalatora Platformy Windows (WPΙ). WPΙ tworzy narzędzie "PHP Manager" w konsoli "Internet Information Services (IIS) Manager". Konfiguruję PHP za pomocą tego narzędzia.

w http://php.net/manual/en/pdo.installation.php mówi:

PDO i wszystkie główne sterowniki dostarczane z PHP jako współdzielonych rozszerzeń, i po prostu muszą być aktywowane poprzez edycję pliku php.ini: rozszerzenie = php_pdo.dll

, więc aktywowałem rozszerzenie za pomocą PHP Managera, a teraz PDO działa dobrze

Menedżer PHP proste dodał następujące dwie linie w moim php.ini, można dodać linie ręcznie. Oczywiście musisz zrestartować serwer WWW.

[PHP_PDO_PGSQL]
extension = php_pdo_pgsql.dll

+0

Zainstalowałem PHP poprzez WPI, i wystarczyło mi dodać rozszerzenie = php_pgsql.dll do C: \ Program Files \ PHP \ v7.1 \ php.ini na końcu sekcji [ExtensionList] –

1

muszę dodać w httpd.conf tej linii (Windows):

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

Gdzie można znaleźć httpd.conf –

0

ja i wielu innych golenie spędził zbyt długo na ten temat - wymaga to ogromnej poprawy. Po spędzeniu kilku godzin skopiowałem php_pgsql.dll z katalogu ext php do katalogu głównego Apache24 (gdziekolwiek go zainstalowałeś) i wreszcie Apache był w stanie załadować moduły php/pg i biblioteki dll.

+0

Niesamowite dzięki, gdybym używał xammp, umieściłbym to w folderze C: \ xampp? –

Powiązane problemy