Intereting Posts
PHP – разбиение массива на запрос Как сказать, когда запрос успешно выполнен в PHP PDO? Пользовательский запрос Visual Composer с оператором OR Расчеты в реальном времени? Анализ данных из базы данных Викисловаря XML в базе данных MySQL с использованием PHP Как загрузить и проанализировать CSV-файл в php Пользовательское расширение php не анализируется Каков наилучший способ дезинфекции пользовательских ресурсов? Плагин xdebug vim не показывает значения переменных (php) Как получить доступ к профилю MongoDB в PHP? Блокирование входа пользователя с определенным уровнем разрешений, а затем отображение предупреждений, чтобы сообщить им, почему Кодирование / экранирование управляющих символов JSON добавьте разбиение на страницы на «для каждого» цикла в wordpress Проблемы с PHP / Cookie с Windows XP, Vista, IE и некоторыми пользователями Метод статического метода PHP против экземпляра

Ошибка: mysqli :: real_connect (): (08004/1040): Слишком много соединений

У меня есть некоторые проблемы на моем сайте, у меня ошибка слишком много соединений.

Скриншот: http://img.ruphp.com/php/Hz7QJQR.png

Backtrace сказал мою ошибку в моей __construct , функции model list_slider и моей модели на get function :

это мой код контроллера:

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Beranda extends CI_Controller { public function __construct() { parent::__construct(); $this->load->helper(array('form', 'url', 'html')); $this->load->model(array('slider_model', 'slider_2_model', 'group_model', 'contact_model')); } public function index() { $data['slider_data'] = $this->slider_model->list_slider(); $data['slider_2_data'] = $this->slider_2_model->list_slider(); $data['group_data'] = $this->group_model->list_group(); $data['contact_data'] = $this->contact_model->list_contact(); $data['title'] = 'Kitchenware Equipments & Utensiles - norwinskitchenware.com'; $this->load->view('fend/view_beranda', $data); } } ?> 

и это моя модель [UPDATE] :

 <?php class Slider_model extends CI_Model { function list_slider() { $this->db->select('*'); $this->db->from('slider'); $query = $this->db->get(); $this->db->close(); return $query->result(); } } ?> 

Я уже установил 'pconnect' => FALSE и mysql.allow_persistent = OFF

Что мне делать ?

благодаря

В вашей модели вы должны закрыть соединение для своей функции.

И если вы сделаете это в своем контроллере

 public function __destruct() { $this->db->close(); } 

Вы должны закрыть его __destruct()

Нам не нужно использовать $this->db->close() как говорит Sulthan Allaudeen. Поскольку CI и некоторые функции connect db в настоящее время имеют поддержку конфигурации для автоматического закрытия при завершении манипуляции.

В кодеигнитре 3.1.2 я обнаружил в свойстве application/config/database.php $db['default']['pconnect'] – это средний процесс удержания после подключения или мы можем объяснить, как значение по умолчанию для CI «Использовать постоянное соединение ».

Это значение должно иметь значение FALSE .

Потому что если значение TRUE . Доступ к вашему коду через некоторое время и доступ к базе данных для ограничения соединения базы данных (max_connections в /etc/my.cnf ), мы не сможем снова подключиться и вывести ошибку: mysqli::real_connect(): (08004/1040): Too many connections