Я пытаюсь настроить веб-сервер дома, используя XAMPP v3.2.2, работающий на 32-битном Windows 10 планшете.
Он имеет:
- Apache / 2.4.38 ( Win32)
- PHP Версия 7.3.2
- mysql Версия 15.1 Distrib 10.1.38-MariaDB, для Win32 (AMD64)
Настройка DNS для моего домена включает запись A , указывающий на мой внешний (назначенный провайдером и один и тот же в течение многих лет) IP-адрес, как для www.mydomain.mytld
, так и для @.mydomain.mytld
.
На моем маршрутизаторе настроена переадресация порта для сервера 80 на сервер .
Файл Apache httpd.conf
содержит раздел:
<VirtualHost *:80>
ServerName www.mydomain.mytld
ServerAlias *.mydomain.mytld
</VirtualHost>
В MySQL пользователь базы данных username
имеет SELECT
, DELETE
, * Привилегии 1020 * и UPDATE
для доступа database
из localhost
.
В файле. php я подключаюсь к базе данных, используя:
$dbUrl = "127.0.0.1";
$dbUser = "username";
$dbPass = "password";
$dbName = "database";
$db = new mysqli($dbUrl, $dbUser, $dbPass, $dbName);
Работает нормально когда я получаю к нему доступ на самом сервере (используя http://127.0.0.1/).
Он также работает нормально, когда я получаю к нему доступ с другого компьютера в домашней сети, используя сетевой адрес сервера (http://192.168.178.35/).
Он также работает нормально, когда я получаю к нему доступ с другого компьютера в домашней сети, используя мой внешний (назначенный провайдером) IP-адрес.
Но ... когда я пытаюсь сделать то же самое при использовании моего доменного имени происходит сбой: «Предупреждение: mysqli :: __ construct (): (HY000 / 2002): Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение из-за сбоя подключенного хоста» ответить." в операторе $db = new mysqli(...
.
Я пробовал localhost
и даже сетевой адрес сервера (192.168.178.35
) для $dbUrl
, а также пробовал включить номер порта 3306
, все без безуспешно.
Попробовал также root
пользователя со всеми привилегиями, результаты остались прежними.
Другие страницы на том же сервере (оба. html и. php), которые не используют базы данных, работайте нормально, используя мое доменное имя.
Где-то в inte rnet Я обнаружил, что, возможно, это можно решить, закомментировав (#
) строку ::1 localhost
в %WINDIR%\system32\drivers\etc
file, но эта строка уже закомментирована в моем файле hosts.
Поскольку все работает нормально, используя мой внешний IP-адрес, просто не используя мое доменное имя, я ожидаю, что просто пропущу некоторые директивы где-то в одном из многих файлов конфигурации, но я не могу найти то, что мне не хватает.
Есть идеи, кто-нибудь?
Заранее спасибо.