Я хочу подключиться к экземпляру Google Cloud SQL, используя его бесплатный адрес IPv6, вместо того, чтобы покупать адрес IPv4. Для этого я нашел свой IPv6-адрес и разрешил его. Я также просмотрел префикс IPv6 своего маршрутизатора и разрешил это (афайк, который должен позволить всем компьютерам в моей домашней сети получить доступ к экземпляру SQL).
Следующий код создает проблему:
$servername = "2001:6532:1234:1:6a4f:e1d7:5d69:52a3";
$username = "looooool";
$password = "superSecretStuff";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
И этот код генерирует эту ошибку:
Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in C:\Users\kjh\Documents\SF WEBSITE\appengine-try-php-master\connect_db.php on line 8
Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in C:\Users\kjh\Documents\SF WEBSITE\appengine-try-php-master\connect_db.php on line 8
Connection failed: php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt.
Мне очень жаль, что сообщение об ошибке на немецком языке, но я не знаю, где бы это изменить. Также строка 8 - это строка с $conn = new mysqli($servername, $username, $password, $dbname);
в теме. Я изменил IP-адрес, поэтому, если это выглядит странно, вот почему. Надеюсь, ты сможешь мне помочь.
Если я получаю IPv4-адрес от Google, он работает без проблем.
Это репост от Вот где мне сказали повторно задать это здесь, потому что это может быть проблемой, когда мой интернет-провайдер не назначает постоянный адрес IPv6.
После того, как я просто захотел найти свой IPv6-адрес, я заметил кое-что странное. я пошел в wieistmeineip.de чтобы найти мой IPv6-адрес, и сначала он показал только мой IPv6-адрес, затем, когда я пошел на спидтест, мой IPv6-адрес исчез, и с тех пор у меня остался только IPv4-адрес. По крайней мере, так говорят все сайты с IP-адресами. То же самое происходит с Google, когда вы гуглите "какой у меня IP-адрес" Google показывает вам ваш IP-адрес, сначала он показывал мой ipv6, а теперь показывает только ipv4.
Мой интернет-провайдер: Kabel Deutschland
Теперь, наконец, мои два вопроса:
Должен ли приведенный выше код работать, учитывая, что я разрешил своему IPv6-адресу доступ к облачному sql и что мой интернет-провайдер не облажает меня?
Есть ли способ проверить, не делает ли мой провайдер что-то странное?
Обновить:
Я попытался полностью отключить IPv4 на своей машине (Windows), поэтому сделал это и перезагрузил компьютер. После перезапуска я не получил IPv6-адрес от моего маршрутизатора, поэтому я снова включил IPv4 и получил IPv4-адрес, но не IPv6-адрес. Надеюсь, это поможет.
Так что теперь я сам могу ответить на этот вопрос с помощью Майкла Хэмптона.
Нет. IPv6-адрес должен быть заключен в квадратные скобки. Итак, должно работать следующее: $servername = "[2001:6532:1234:1:6a4f:e1d7:5d69:52a3]";
Чтобы проверить это, просто попробуйте снова и снова после того, как вы получите правильный код. В моем случае моя домашняя сеть делала что-то странное, и перезапуск всего моего сетевого оборудования исправил это.