Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как закрыть подключение к mysql?

Сообщения:  [1-10] 

 
 автор: 1prom   (21.06.2010 в 20:46)   письмо автору
 
   для: egubov93   (21.06.2010 в 20:35)
 

egubov93 , мне же сказали, что закрывать не обязательно, если подключения не постоянные. Таких у меня нет - тут надо работать над ускорением обработки кода...

  Ответить  
 
 автор: 1prom   (21.06.2010 в 20:43)   письмо автору
 
   для: 1prom   (21.06.2010 в 19:08)
 

ой, я понял, это когда не закроется одно соединение - второе уже открывается и так целых 100... поучается нужно работать над ускорением выполнения запросов и закрытия подключения...

  Ответить  
 
 автор: egubov93   (21.06.2010 в 20:35)   письмо автору
 
   для: 1prom   (21.06.2010 в 19:08)
 

Ты выполнил подключений больше, чем указано в max_user_connections. Закрывай ненужные соединения.
Только не
$connection = mysql_close();

а
mysql_close($connection);

  Ответить  
 
 автор: 1prom   (21.06.2010 в 19:08)   письмо автору
 
   для: 1prom   (21.06.2010 в 01:14)
 

Вот ошибка подключения - из-за которого сайт вообще не работает:

User ххх already has more than 'max_user_connections' active connections

Посоветуйте, пожалуйста, что тут надо сделать. Я не могу понять почему так?
Что значит одновременное подключение? - это когда в туже секунду или какую долю секунды одновременно идет подключение?

  Ответить  
 
 автор: cheops   (21.06.2010 в 14:39)   письмо автору
 
   для: 1prom   (21.06.2010 в 01:14)
 

mysql_pconnect() предназначен для сессионных соединений, работа в рамках Web-страниц, PHP-скриптов по определению не является сессионной. Если вы пользуетесь mysql_connect() соединение автоматически закрывается при завершении работы скрипта. В любом случае полезно посмотреть список текущих mysql-процессов.

  Ответить  
 
 автор: 1prom   (21.06.2010 в 01:14)   письмо автору
 
   для: sms-send   (21.06.2010 в 00:53)
 

у меня mysql_pconnect точно нет. Значит закрывать подключения не нужно?

  Ответить  
 
 автор: sms-send   (21.06.2010 в 00:53)   письмо автору
 
   для: 1prom   (21.06.2010 в 00:24)
 

> Хм, а какие подключения есть постоянными?

Persistent Database Connections
В PHP открываются функцией mysql_pconnect.

  Ответить  
 
 автор: 1prom   (21.06.2010 в 00:24)   письмо автору
 
   для: sms-send   (21.06.2010 в 00:13)
 

То есть достаточно:
$connection = mysql_close();
?

Хм, а какие подключения есть постоянными?

Скрипты выполняются на сайте от очень короткого времени и иногда до 10 сек... - мне кажется, это тормозит сервер и пропадает подключение ... сайт в итоге перестает быть вообще рабочим

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

  Ответить  
 
 автор: sms-send   (21.06.2010 в 00:13)   письмо автору
 
   для: 1prom   (21.06.2010 в 00:03)
 

> Прав ли я?
Сомнительно.

> и как закрыть подключение?
mysql_close()
Все обычные (непостоянные) соединения закрываются автоматически при окончаниии выполнения скрипта.


А сколько времени выполняется скрипт?
Какая ошибка хоть?
// <?php
$connection 
mysql_connect("localhost""user""passw") or die(mysql_error());

  Ответить  
 
 автор: 1prom   (21.06.2010 в 00:03)   письмо автору
 
 

Здравствуйте!

Такая ошибка "нет доступа к mysql" часто происходит тогда, когда скрипт пытается держать подключение к БД свыше положенного на сервере.
Это проблема скрипта - он не должен так делать, он должен открывать подключение для чтения-записи, сделать дело и сразу же закрывать.
Многие (к сожалению) программисты этот момент не учитывают, думают, что сервер будет ждать выполнения их скрипты сколько угодно - потому открывают подключение, делают дело сколько захотят, а потом пытаются результат записать, на что часто и получают отбой.

В итоге я открываю подключение к mysql
$connection = mysql_connect("localhost", "user", "passw") or die("невозможно поключиться к MySQL.");

Сообщение "невозможно поключиться к MySQL" - довольно часто появляется. Я думаю, - это вследствие того, что я не закрываю доступ... Прав ли я? и как закрыть подключение?

  Ответить  

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования