2012-04-10 32 views
11

PDO đang làm việc tốt với mysql nhưng với pgsql của nó đưa ra lỗi 'PDOException' with message 'could not find driver' Tôi đã cài đặt php5-pgsql gói bao gồm cả pdo_pgsqlPostgreSQL 'PDOException' với thông điệp 'không thể tìm thấy tài xế'

http://packages.debian.org/sid/php5-pgsql

này gói cung cấp một mô-đun cho các kết nối cơ sở dữ liệu PostgreSQL trực tiếp từ các kịch bản PHP. Nó cũng bao gồm mô-đun pdo_pgsql để sử dụng với phần mở rộng đối tượng dữ liệu PHP.

DSN của tôi là pgsql:dbname=DB;host=192.168.0.2 Tôi đang sử dụng Ubuntu 10.04

+0

Xin lỗi tôi đã kiểm tra máy chủ sai. Gentoo của nó và postgresql ở đây chưa được cài đặt. –

+0

Tôi muốn yêu cầu người kiểm duyệt xóa câu hỏi nếu có thể –

+2

về câu hỏi của riêng bạn, bạn có thể tự xóa chúng bằng cách nhấp vào liên kết thích hợp ở cuối câu hỏi của mình – JMax

Trả lời

5

Hãy chắc chắn rằng bạn đã không chú thích dòng mà nói với php nơi người lái xe Postgres là (thường extension=pgsql.so) trong php.ini tập tin chính.

15

1) Bạn đã bật pgsql.so trong php.ini (extension=pgsql.so) chưa?

2) Bạn có đang lắng nghe Postgresql trên giao diện 192.168.0.2 không? (Bạn có thể kiểm tra nó bằng netstat -tpln)

3) Cách bạn xác thực quyền truy cập của bạn vào Postgresql?

4

Tôi gặp vấn đề tương tự. Trước hết - kiểm tra là nó được kích hoạt trong php.ini. Uncomment extension=php_pdo_pgsql...

hơn thiết lập thư mục tiện ích mở rộng !!

extension_dir = "ext" ; for your case it could be other dir. 

và đừng quên khởi động lại máy chủ sau khi thay đổi cấu hình.

-2

Sao chép libpq.dll từ thư mục PHP vào Apache24 \ bin (hoặc bất cứ nơi nào cài đặt của bạn có thể).

0

Đây là công việc cho tôi: Chỉ

[sudo] apt-get install php-pgsql 

sau đó, bỏ ghi chú pgsqlpdo-pgsql extentions trong php.ini

Cuối cùng:

[sudo] /etc/init.d/apache2 restart 

Nếu bạn sử dụng apache như là trường hợp của tôi ...

Các vấn đề liên quan