Как PHP взаимодействует с MySQL на одном сервере - PullRequest
3 голосов
/ 28 августа 2009

Кто-нибудь знает, как php запрашивает данные у mysql?

Если у меня mysql на той же машине, что и php, открывает ли он tcp-соединение с локальным хостом через порт 3306 или есть какой-то другой способ получения данных?

То же самое в Linux и Windows?

Спасибо

Ответы [ 3 ]

8 голосов
/ 28 августа 2009

если доступно, используется сокет unix, иначе localhost.

Обратите внимание, что , даже если вы указали localhost в строке подключения, он попытается использовать более быстрый "сокет Unix", если он доступен

3 голосов
/ 28 августа 2009

Обычно PHP открывает локальный канал, найденный в /tmp/mysql.sock, для подключения к локальной версии сервера, если вы не используете IP-адрес в строке подключения.

0 голосов
/ 28 августа 2009

PHP открывает соединение с портом 3306 - это сервер через TCP для передачи данных. Следовательно, вы можете указать, к какому порту подключаться в mysql (i) _connect и т. Д., И почему вам нужно иметь правила брандмауэра для mysql.

В Windows то же самое, что и в Linux

Так что да, TCP:)

РЕДАКТИРОВАТЬ: Revision, В Linux, PHP выглядит для подключения к MySQL через /tmp/mysql.sock каталог tmp должен иметь правильные разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...