Достала уже одна и та же проблема. Делаю как по книжке: class CMysql { var $db_name; var $db_user; var $db_passwd; var $db_host; function CMysql() { $this->db_name = "..."; $this->db_user = "..."; $this->db_passwd = "..."; $this->db_host = "..."; } function get_rows($query) { $link = mysql_pconnect($this->db_host, $this->db_user, $this->db_passwd) or die("Could not connect: " . mysql_error()); mysql_select_db($this->db_name); $result = mysql_query($query) or die("Could not query: ". mysql_error()); $rows = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $rows[] = $row; } mysql_free_result($result); mysql_close($link); return $rows; } } Сервер поработает какое то время, а потом вываливает: Warning: mysql_pconnect() [function.mysql-pconnect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /home/u52254/lehrerzimmerru/www/includes/mysql.php on line 21 Could not connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) Как я понимаю, закончились соединения у mysql. как это побороть??? Уже достала эта хрень!.... Спасибо!
Да. Ответы типа перезагрузи сервер не писать. Нужно чтоб всё работало нормально без внешнего вмешательства.
Верно понимаете. Решения 3: 1) Не использовать постоянный коннект 2) Увеличить количество соединений Mysql в его конфиге 3) Закрывать соединение после завершения работы скрипта (но зачем тогда постоянный коннект)
PHP: <?php $link = mysql_pconnect($this->db_host, $this->db_user, $this->db_passwd) or die("Could not connect: " . mysql_error()); mysql_select_db($this->db_name); поместить в конструктор + заменить mysql_pconnect на mysql_connect