Laravel Создать mysql S SH Туннель на windows10 программно? - PullRequest
1 голос
/ 17 января 2020

Попытка настроить локальную Windows10 среду для Laravel 6 и необходимость подключения с S SH к удаленному linux mysql серверу.

Стандартная конфигурация не поддерживает способ соединения с туннелями S SH, но я нашел обходной путь, который мне нужен, чтобы закончить работу.

Кажется, единственный способ установить соединение - это переадресация портов, что я могу сделать с gitbash / windows терминал

ssh -i /c/Users/MyUserName/MyKeyFolder/sitemaster_ssh -fNg -L 3307:127.0.0.1:3306 linuxUser@remoteHost.com

После запуска этого вручную в терминале / gitbash я могу успешно использовать localhost с портом 3307 для конфигурации моей базы данных в Laravel и посетить мой локально

В идеале я хотел бы программно проверить этот порт перед тем, как laravel попытается получить доступ к порту 3307 при запуске, а также какой-либо тип обнаружения для более поздних вызовов и открыть только при необходимости.

Я использовал эту статью, в которой изложены основы, но неясно, может ли код командной строки запускаться только вручную или может быть где-то запущен с помощью скрипта. ow.

Laravel MySql Соединение с БД с S SH

Я тоже пытался делать такие вещи, как

exec('ssh -i /c/Users/MyUserName/MyKeyFolder/sitemaster_ssh -fNg -L 3307:127.0.0.1:3306 linuxUser@remoteHost.com');

как вставка в свой собственный скрипт с именем port_fwd_3307. sh, а затем запуск

exec('port_fwd_3307.sh');  

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

Я поместил эту команду в файл bootstrap / app. php, а также пробовал его в config / database. php и public / index. php до того, как laravel даже запустится, и ничего из этого не работает.

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

...