Intereting Posts
Инструменты для рефакторинга PHP-кода интеграция цифровых товаров в PayPal, как включить оплату в качестве гостя? Подписки WooCommerce – получение связанных заказов Идентификаторы для определенной подписки Проверьте, существует ли отношение toToMany – Laravel Отправить действие кнопки в зависимости от того, совпадает ли поле с другой формой Общие таблицы Drupal, но из другой базы данных Ошибка PHP: ob_flush () : не удалось сбросить буфер. Нет буфера для сброса Добавьте пользовательскую кнопку «Бронирование» на страницу WooCommerce Single Regexp для добавления атрибута в любые теги xml php curl localhost медленен при выполнении параллельных запросов Как преобразовать AVI-файл в формат FLV с помощью PHP? преимущества «HTTP-аутентификации с помощью PHP» Как удалить возврат каретки с вывода строки? Как создать файл xlsx без использования какой-либо библиотеки excel PHP В окне «Моя поп» отображается горизонтальный скроллер, как его удалить?

Почему мой php-код не подключается к моей удаленной базе данных MySql?

Я пытаюсь подключиться к удаленной базе данных MySql, и я получаю это сообщение об ошибке:

Предупреждение: mysqli_connect (): (HY000 / 2002): попытка подключения завершилась неудачно, потому что связанная сторона не ответила должным образом через какое-то время или не удалось установить соединение, потому что подключенный хост не смог ответить. в C: \ myLocalDiectory \ RemoteConn.php в строке 9 Ошибка «Не найден ресурс» 404.

Вот мой файл php, который я пытаюсь использовать:

<?php define("DB_SERVER", "serverName"); define("DB_USER", "userName"); define("DB_PASS", "password"); define("DB_NAME", "dbName"); $connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME); if(mysqli_connect_errno()) { die("Database connection failed: " . mysqli_connect_error() . " (" . mysqli_connect_errno() . ")" ); } ?> 

Я что-то упускаю? Спасибо за любую помощь!

Первое, что я проверил (если вы этого еще не сделали), – это то, что вы действительно можете подключиться к базе данных с компьютера, на котором выполняется ваш PHP-скрипт. Это исключает проблему с сетью или брандмауэром.

Первым делом будет pinging сервер. В командной строке DOS:

 ping servername 

Где «servername» – это одна и та же строка, которую вы добавили в свой PHP-скрипт выше. Если это не отвечает строкой, подобной приведенной ниже, в частности, первое слово не является «Ответ»:

 Reply from 192.168.239.132: bytes=32 time=101ms TTL=124 

Это означает, что, скорее всего, нет связи между компьютером, на котором запущен скрипт PHP, сервером mysql. Затем я проверял, правильно ли подключен сервер и компьютер к сети, если сервер завершен, если на вашем компьютере не работает брандмауэр, на котором запущен скрипт PHP или на сервере.

Теперь, если ваш тест выше показывает «Ответить» на пинг, вы можете проверить, можете ли вы подключиться к службе Mysql с вашего php-сервера. Для этого вы можете использовать Mysql workbench ( http://dev.mysql.com/downloads/workbench/ ) и оттуда создать соединение с параметрами базы данных, которые вы указываете на свой скрипт. Если вы не можете подключиться к Workbench Mysql, вам может потребоваться отключить брандмауэр на вашем сервере Mysql, брандмауэр на вашем компьютере под управлением PHP или включить сервер Mysql для приема удаленных подключений для базы данных и имени пользователя, которое вы используете в своем скрипте PHP ( в некоторых дистрибутивах сервер Mysql установлен, чтобы принимать только локальные подключения для обеспечения безопасности).

Если проблема заключается в разрешении на сервере (пользователь может подключаться только локально, но не с удаленного компьютера, например), вы можете включить разрешение на сервере Mysql с помощью команды GRANT: http://dev.mysql.com/ док / RefMan / 5,1 / о / grant.html

 define("DB_USER", "userName"); 

Попробуйте root вместо имени пользователя и определите DB_HOST .