Я пытаюсь подключиться к удаленной базе данных 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
.