Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: pdo есть ли решение для постоянного соединения?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
sc2r2bey
Отправлено: 27 Апреля, 2013 - 11:01:51
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




создаю постоянное соединение:
PHP:
скопировать код в буфер обмена
  1. $DBH = new PDO("mysql:host={$config['db_host']};dbname={$config['db_base']}", $config['db_user'], $config['db_password'], array(PDO::ATTR_PERSISTENT => true));
  2. $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  

через некоторое время выскакивает следующая ошибка:
Цитата:
Warning: PDO::__construct(): MySQL server has gone away in

есть ли способ избежать ее?

(Отредактировано автором: 27 Апреля, 2013 - 11:02:19)

 
 Top
caballero
Отправлено: 27 Апреля, 2013 - 11:08:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




убери его нафиг. Пользы с этого постоянного соединения никакой все равно


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
sc2r2bey
Отправлено: 27 Апреля, 2013 - 11:28:55
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




[quote=caballero][/quote]почему?
 
 Top
caballero
Отправлено: 27 Апреля, 2013 - 11:36:55
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




потому что получаешь gone away


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
esterio
Отправлено: 27 Апреля, 2013 - 12:13:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




sc2r2bey
http://www.siteandweb.ru/mysql_pconnect.html
Вот здесь лучше описано
http://www.php.net/manual/ru/fea...-connections.php

Цитата:
Следует заметить, что этот подход имеет некоторые недостатки: если вы используете базу данных с ограниченным количеством возможных подключений, оно может быть превышено количеством запрашиваемых дочерними процессами постоянных соединений. Например, если ваша база данных позволяет 16 одновременных соединений, и во время нагрузки на сервер 17 дочерних процессов попробуют открыть соединение, одна из попыток потерпит неудачу. Если в вашем коде содержатся ошибки, не позволяющие закрывать соединение (например, бесконечные циклы), база данных с 32 одновременными подключениями вскоре может оказаться заблокированной. Информацию о том, как обрабатывать открытые и неиспользумые соединения, вы можете найти в документации к вашей базе данных

Есть еще два дополнительных предостережения, которые следует помнить при работе с постоянными соединениями. В случае, если скрипт блокирует таблицу и по каким-либо причинам не может ее освободить, при использовании постоянного соединения все последующие скрипты, которые используют это соединение будут блокированы бесконечно долго и могут потребовать рестарта веб-сервера или сервера баз данных. Второе предостережение заключается в том, что открытые транзакции, если они не были закрыты до завершения работы скрипта, будут продолжены в следующем скрипте, использующем это же постоянное соединение. Исходя из этого, вы можете использовать функцию register_shutdown_function() для указания простой функции, которая снимает блокировку таблиц или отката ваших транзакций. Еще лучше избежать этих проблем полностью, не используя постоянные соединения в скриптах, которые используют блокировку таблиц или транзакции (при этом вы все еще можете использовать их где-то в другом месте).

(Отредактировано автором: 27 Апреля, 2013 - 12:33:33)

 
 Top
LIME
Отправлено: 27 Апреля, 2013 - 12:22:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




esterio это не ты написал?))))
 
 Top
esterio
Отправлено: 27 Апреля, 2013 - 12:26:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




нет конешно а что такое? да знаю что не суть в процесах, а в том что позьзователь зачастую не выходит а просто закривает браузер. при постоянном соединении мы получим заполнение максимального количества одновременных соединений с мускулем. вот и вся беда.
 
 Top
sc2r2bey
Отправлено: 27 Апреля, 2013 - 12:27:30
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




[quote=esterio][/quote] Не понял и как это с PDO соотноситься?
 
 Top
esterio
Отправлено: 27 Апреля, 2013 - 12:31:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




sc2r2bey пишет:
и как это с PDO соотноситься?

Обновил пост
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB