Вопрос

В Mac OS X 10.6 я могу подключиться к MySQL в php с помощью

$mysql = mysql_connect(localhost,user,password)

Однако, если я использую то же самое в Mac OS X 10.9 (Mavericks), я получаю сообщение об ошибке:

Warning: mysql_connect(): No such file or directory

если я использую $mysql = mysql_connect("127.0.0.1",user,password), все работает нормально, но я бы не хотел вносить изменения везде.

Я читал на этом сайте, что существует проблема с сокетом, но она у меня уже есть. php.ini.default: pdo_mysql.default_socket=/tmp/mysql.sock

Любая идея о том, как сделать mysql_connect(localhost,user,password) work on 10.9 ?

Другие советы

вам нужно отредактировать файл имен хостов, но я пользователь ПК, поэтому не могу помочь вам с этим на Mac.В любом случае, вот что я нашел, и я полагаю, что это то же самое, что и ваша версия ОС.

Шаг 1 – Откройте Terminal.app

Либо путем начала набирать терминал в центре внимания, либо зайдя в приложения -> утилиты -> терминал.

Шаг 2 – Откройте файл хостов

Откройте хосты, набрав в только что открытом терминале:

1 $ sudo nano/private/etc/hosts введите пароль пользователя при запросе.

Шаг 3. Отредактируйте файл хостов.

Файл хостов содержит некоторые комментарии (строки, начиная с символа #), а также некоторые отображения имени хоста по умолчанию (например,127.0.0.1 - Local Host).источник: http://decoding.wordpress.com/2009/04/06/how-to-edit-the-hosts-file-in-mac-os-x-leopard/

Вам нужно написать запись для 127.0.0.1 - Local Host, если ее еще нет.

Если вы позвоните mysql_connect() с localhost в качестве первого аргумента PHP пытается подключиться, используя сокет домена UNIX вместо TCP.

Вероятно, он ищет неправильное имя сокета и/или ваш MySQL слушает только TCP.

Вам следует проверить настройки MySQL (/etc/mysql?поиск сокета) и php mysql.default_socket переменная конфигурации.( pdo_mysql.default_socket вы упоминаете, что он используется при подключении с помощью pdo.)

Например, в моем Debian:

$ grep socket /etc/mysql/my.cnf 
socket          = /var/run/mysqld/mysqld.sock

(В противном случае ваша жизнь была бы проще, если бы вы использовали какой-либо уровень абстракции БД и сохраняли детали соединения только один раз.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top