Получение ошибки PDO при попытке php symfony doctrine:insert-sql
Ошибка, которую я получаю:
Предупреждение: PDO :: __ construct (): [2002] Соединение отклонено (попытка подключения через tcp: //127.0.0.1: 3306) в / Пользователи / johannes / Программирование / PHP / htdocs / symfony / sfprojects / lib / vendor / symfony /lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php в строке 470
databases.yml
все: доктрина: class: sfDoctrineDatabase пары: dsn: mysql: host = 127.0.0.1; dbname = jobeet; имя пользователя: root пароль: root
Выполнение mysql -u root -p jobeet
с «root» как пароль дает мне доступ, поэтому проблем нет. И да, mysql, который я запускаю, – это MAMP.
Спасибо за любую помощь.
По умолчанию MAMP не разрешает TCP-соединения. Вы можете включить его или использовать сокеты.
Изменение вашего dsn как предложения @Tom должно исправить ваши проблемы. Как ни странно, но используя localhost вместо 127.0.0.1 делает mysql подключаемым через сокеты.
http://dev.mysql.com/doc/refman/5.0/ru/connecting.html :
В Unix программы MySQL обрабатывают имя хоста localhost специально таким образом, который, вероятно, отличается от ожидаемого по сравнению с другими сетевыми программами. Для соединений с localhost программы MySQL пытаются подключиться к локальному серверу с помощью файла сокета Unix. Это происходит, даже если задана опция -port или -P для указания номера порта. Чтобы клиент установил TCP / IP-соединение с локальным сервером, используйте -host или -h, чтобы указать значение имени узла 127.0.0.1 или IP-адрес или имя локального сервера. Вы также можете указать протокол подключения явно, даже для localhost, с помощью опции –protocol = TCP.
MAMP PRO 2.x
Я смог решить эту и многие подобные проблемы, просто сняв флажок «Разрешить только локальный доступ» в prefs MySQL на панели управления MAMP.
MAMP PRO 3.x
Как заявил Кендрик :