Ресурс php mysql_connect всегда одинаков - PullRequest
3 голосов
/ 28 июня 2011

У меня проблема с моим PHP-сценарием, которого вы можете увидеть здесь: http://codepad.org/F0qhElRC

Не открывается новый ресурс для каждого подключения от дочернего элемента. Я уже пытался использовать 127.0.0.1 или IP своей локальной сети, но ничего не получалось, также max_user_connections в MySQL установлен в 0, открывая соединение из Интернета, дает мне другое ресурс для сети. Но в командной строке он использует то же самое.

В mysql_connect я указал, что new_link - true, я поместил __destruct в класс bd закрыть соединение, если ребенок будет уничтожен. Закрытие соединения не делает php открывает новый даже после перезапуска скрипта. Ресурс может быть бесплатным и поэтому я должен рассчитывать на это, но у детей я тоже пытался заснуть, но это не заставляет его бежать новый ресурс.

Есть предложения о том, как это отладить?

По сути, мне нужен новый conn для каждого нового скрипта или дочернего вызова.

Спасибо заранее. С уважением,

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Вам удалось опустить весь соответствующий код, но многие расширения баз данных в PHP повторно используют открытые в настоящее время соединения, если вы специально не укажете им не делать этого.Если вы используете mysql_connect () , взгляните на параметр $new_link:

mysql_connect — Open a connection to a MySQL Server
Report a bug
Description
resource mysql_connect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, bool $new_link = false [, int $client_flags = 0 ]]]]] )

Opens or reuses a connection to a MySQL server.

.

new_link

Если второй вызов выполняется для mysql_connect () с теми же аргументами, новая ссылка не будет установлена, но вместо этого будет возвращен идентификатор ссылки уже открытой ссылки.Параметр new_link изменяет это поведение и делает mysql_connect () всегда открывающим новую ссылку, даже если mysql_connect () был вызван ранее с теми же параметрами.В безопасном режиме SQL этот параметр игнорируется.

0 голосов
/ 28 июня 2011

Используете ли вы sql.safe_mode (проверьте файлы конфигурации)? Документация для mysql_connect указывает, что * new_link * в таких случаях игнорируется.

...