Не удается найти конфигурацию сокета в XAMPP для Windows.

Я использую Netbeans 7.0.1 в проекте PHP.

Я установил XAMPP 1.7 в 64-разрядной версии Windows 7 с помощью установщика, который можно найти на сайте xampp.org. Я изменил порт apache с 80 и 443 на 81 и 442, так как я также использую IIS. Я ничего не устанавливал как службу, я использую панель управления для запуска/остановки mysql, apache и т. д.

Моя проблема в том, что мой модульный тест не работает, а контекст заключается в том, что я разрабатываю проект с двумя парнями, которые работают на Mac.

У них есть файл конфигурации с такой строкой:

database_socket = /var/run/mysqld/mysqld.sock

Мой модульный тест терпит неудачу, и они сказали мне, что у одного из них была такая же проблема, и изменение этого пути на правильный решило его проблему.

Теперь, где этот файл в Windows XAMPP? Я провел поиск по всему жесткому диску (я знаю, что mysql должен быть запущен, чтобы этот файл существовал, и да, он работает :)) и не смог его найти.

Этот парень использует файл с именем Parameters.ini, где указан путь к сокету, затем он вызывает $container = $kernel->getContainer(); и база данных, кажется, создана.

Я попытался изменить этот файл (parameters.ini), который сейчас имеет следующее:

database_host = localhost
database_socket = /var/run/mysqld/mysqld.sock
database_user = user
database_password = pass
database_schema = lad

но если я удалю database_socket, он жалуется.

Я пытался следовать инструкциям здесь: http://www.devside.net/guides/windows/mysql Настройка (изменение www с помощью xampp)

Распаковать как C:\www\mysql-5.1.56-win32

Переименуйте каталог C:\www\mysql-5.1.56-win32 в C:\www\mysql.

Скопируйте файл конфигурации MySQL C:\www\mysql\my-medium.ini (или один из других включенных файлов my-*.ini на ваш выбор) в каталог %SYSTEMROOT%

Переименуйте файл %SYSTEMROOT%\my-medium.ini (или скопированный файл my-*.ini) в my.ini

Edit %SYSTEMROOT%\my.ini

В разделах "[client]" и "[mysqld]" отредактируйте...

socket = C:/www/tmp/mysql.sock

В разделе "[mysqld]" вставьте...

basedir = C:/www/mysql/
datadir = C:/www/mysql/data/

Перезапустил mysql, но ничего не произошло.


person polonskyg    schedule 10.11.2011    source источник


Ответы (3)


Решение состоит в том, чтобы поместить строку сокета с пустым значением.

socket = ""
person polonskyg    schedule 11.11.2011
comment
Привет. Я отредактировал строку кода, на которую, как я думаю, вы ссылаетесь в своем вопросе, было бы здорово, если бы вы это подтвердили. - person Félix Adriyel Gagnon-Grenier; 02.06.2015

Согласно http://dev.mysql.com/doc/refman/5.1/en/connecting.html#option_general_socket имя по умолчанию для установок Windows — MySQL.

Для xampp расположение сокета по умолчанию — C:/xampp/mysql/mysql.sock на моей машине. У меня нет файла sock. Я пытался заставить его создать его, но безуспешно. Если вы можете найти способ создать его, вы захотите отредактировать /mysql_start.bat, чтобы включить команды, или отредактировать файл my.ini по умолчанию, расположенный в C:/xampp/mysql/bin/my.ini.

person Jason Brumwell    schedule 10.11.2011

Для Windows достаточно database_host, database_user, database_password, database_schema и database_port (3306), database_socket ставить не нужно.

person vignesh    schedule 23.11.2012
comment
это database_schema или должно быть database_name? - person vladr; 23.11.2012