2015-09-16 18 views
5

Chúng tôi đang làm việc với 2 cơ sở dữ liệu, cơ sở dữ liệu cục bộ và cơ sở dữ liệu bên ngoài. Nhưng bây giờ cơ sở dữ liệu bên ngoài của chúng tôi đã ngừng hoạt động (chúng tôi vẫn đang trong quá trình phát triển, vì vậy chúng tôi đã gặp vấn đề này) và bây giờ cố gắng kết nối với cơ sở dữ liệu bên ngoài trong 30 giây, làm thế nào tôi có thể thay đổi thời gian chờ kết nối của Cơ sở dữ liệu 1 - 2 giây? Tôi đang sử dụng Codeigniter với các trình điều khiển PDO trên cơ sở dữ liệu của tôi. Có ai có giải pháp sạch cho vấn đề này không?Đặt thời gian chờ kết nối cơ sở dữ liệu trong CodeIgniter 3

+0

Hãy thử http://php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout – Scorpion

+0

Tôi không sử dụng mysql @Scorpion – Jordy

+0

Bạn đã thử đặt 'PDO :: ATTR_TIMEOUT' ? Cơ sở dữ liệu của bạn là gì? – VolenD

Trả lời

4

Nó không phải là một tính năng ghi chép, nhưng bạn có thể làm điều này từ các tập tin cơ sở dữ liệu cấu hình (application/config/database.php) bằng cách thêm options thiết lập ví dụ:

$db['default']['options'] = array(PDO::ATTR_TIMEOUT => 5); 

Các thiết lập khác mà sử dụng cơ chế nội bộ cùng (ví dụ PDO::MYSQL_ATTR_INIT_COMMAND bộ với $db['default']['stricton']PDO::MYSQL_ATTR_COMPRESS được đặt với $db['default']['compress']) không bị ảnh hưởng bởi điều này.

Nếu bạn muốn tìm hiểu sâu hơn hoặc kiểm tra tùy chọn nào được đặt, bạn có thể đăng nhập $this->options trong chức năng db_connect trong system/database/drivers/pdo/pdo_driver.php và cũng kiểm tra database/drivers/pdo/subdrivers/pdo_mysql_driver.php.

+2

Chính xác những gì tôi đang tìm kiếm, làm việc như một sự quyến rũ! Cảm ơn rất nhiều!! Tôi không thể cung cấp cho bạn tiền thưởng nhưng sẽ làm như vậy khi tôi có thể. – Jordy

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