Подключение к Redis на виртуальной машине из моего PHP-приложения localhost - PullRequest
0 голосов
/ 23 января 2019

У меня установлена ​​виртуальная машина Ubuntu с установленным Redis на моем ПК с Windows. У меня есть приложение PHP, которое использует Predis для взаимодействия с Redis:

Predis\Autoloader::register();

try {
  $redis = new Predis\Client(array(
      "scheme" => "tcp",
      "host" => "192.168.1.66",
      "port" => 6379
  ));
$redis->set('foo', 'bar');

}
catch (Exception $e) {
  die($e->getMessage());
}

Мой Redis.conf имеет закомментированный #bind 127.0.0.1, номер защищенного режима и порт 6379 (я перезапустил Redis после изменения). Я могу получить доступ к Redis внутри виртуальной машины через redis-cli без проблем, но при попытке доступа к нему через мое PHP-приложение localhost я постоянно получаю:

Невозможно установить соединение, потому что целевой компьютер активно отказался от него. [TCP: //192.168.1.66: 6379]

Существуют ли другие параметры конфигурации, необходимые для того, чтобы мое приложение localhost могло получить доступ к экземпляру VM Redis?

* обновлено с правильным IP-адресом. Проблема сохраняется. Также обратите внимание, что сетевой адаптер моей виртуальной машины настроен на мост, и я могу пропинговать виртуальную машину с локального компьютера.

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Получите IP-адрес вашей виртуальной машины (должно быть что-то вроде 192.168. . ) и привяжите ваш Redis-сервер к этому IP-адресу. Затем попробуйте получить доступ к серверу Redis с этим IP-адресом и портом (6379).

0 голосов
/ 23 января 2019

Вы можете пропинговать виртуальную машину, но можете ли вы получить доступ к ее порту 6379?

Попробуйте использовать такой инструмент, как telnet или netcat.

0 голосов
/ 23 января 2019

IP-адрес виртуальной машины localhost(127.0.0.1)?
Проверьте IP-адрес виртуальной машины.

...