Недавно я установил Apache 2 + PHP 5.3.1 + MySQL 5.1.44 на свой 64-битный компьютер с Windows 7, следуя этому руководству: http://sleeplessgeek.blogspot.com/2010/01/setting-up-apache-php-mysql-phpmyadmin.html
Все прошло нормально, php отлично работает (даже с XDebug), но я не могу подключиться к серверу mysql.
Я написал простой скрипт для проверки соединения (да, у root нет прохода):
$username = "root";
$password = "";
$database = "test";
$hostname = "localhost";
$conn = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL Database!!");
Он выводит эту ошибку через 60 секунд тайм-аута:
Предупреждение: mysql_connect () [function.mysql-connect]: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом по прошествии определенного периода времени, или установленное соединение не удалось из-за того, что подключенный хост не ответил.
Я могу подключиться к mysql с помощью cmd> mysql -h localhost -u root
Сервисы работают исправно.
Также, похоже, проблема с PhpMyAdmin (с использованием 3.2.5). Как только я набираю user и передаю страницу, страница загружается и становится пустой (длина содержимого в заголовках равна 0, а код состояния - 302 Found). Похоже, что-то не так с куки (мой метод авторизации).
Надеюсь, у кого-то есть ключ к разгадке, это должно быть что-то глупое, простое, что я пропустил. Заранее спасибо.
Я установил это на моем компьютере с момента обновления. В моем случае достаточно указать 127.0.0.1 в качестве хоста вместо localhost.
Однажды это меня достаточно надоест, чтобы по-настоящему это исправить :)
Редактировать относительно phpMyAdmin
Ах, phpMyAdmin ... да! Я чувствую твою боль. Я страстно НЕНАВИЖУ каждый раз, когда меня заставляли переустанавливать это приложение. Это отличное приложение, когда оно работает, но приведение его в рабочее состояние со временем доставило мне много горя.
По моему личному опыту, убедитесь, что все необходимые модули PHP загружены, и убедитесь, что каталог сеансов PHP (как указано в php.ini) действительно существует в файловой системе. Если вы измените что-либо из этого, перезапустите Apache.
Кроме того, по моему опыту, одного перезапуска Apache недостаточно - перезапуск браузера необходим для правильной очистки сеанса.
Это известная ошибка: - http://bugs.php.net/bug.php?id=50172 Решение состоит в том, чтобы обновить ваш файл hosts без комментариев или добавления:
127.0.0.1 localhost
Некоторые версии PHP 5 не понимают окна, предоставляющие ему IPv6-адрес