Laravel Homestead - 通过 SSH 隧道连接到远程数据库
Laravel Homestead - Connect to remote DB via SSH Tunnel
我想使用 Laravel Homestead 在本地进行开发,但是 Laravel 应该通过 SSH 隧道连接到远程数据库,而不是 Homestead。
不知怎么的,我不知道该怎么做。有可能吗?
这不是 Laravel 问题,这是一个操作系统问题。您可以设置您的隧道:
ssh -L 3307:ec2-172-16-139-19.us-west-1.compute.amazonaws.com:3306 deploy@ec2-174-129-17-196.compute-1.amazonaws.com
在哪里
3307 是本地端口,
ec2-172-16-139-19.us-west-1.compute.amazonaws.com 是 数据库主机 ,
3306 是监听端口,
部署是数据库用户名,并且
ec2-174-129-17-196.compute-1.amazonaws.com 是 远程主机.
然后您只需要配置您的 Laravel 连接以连接到
'mysql' => [
'host' => 'localhost',
'port' => 3307,
],
打开您的 config/database.php
并添加找到您的 mysql 连接。
ssh -i ~/openssh_key -L YOUR_PORT:DATABASE_HOST:DB_PORT USERNAME@REMOTE_HOST
我想使用 Laravel Homestead 在本地进行开发,但是 Laravel 应该通过 SSH 隧道连接到远程数据库,而不是 Homestead。
不知怎么的,我不知道该怎么做。有可能吗?
这不是 Laravel 问题,这是一个操作系统问题。您可以设置您的隧道:
ssh -L 3307:ec2-172-16-139-19.us-west-1.compute.amazonaws.com:3306 deploy@ec2-174-129-17-196.compute-1.amazonaws.com
在哪里
3307 是本地端口,
ec2-172-16-139-19.us-west-1.compute.amazonaws.com 是 数据库主机 ,
3306 是监听端口,
部署是数据库用户名,并且
ec2-174-129-17-196.compute-1.amazonaws.com 是 远程主机.
然后您只需要配置您的 Laravel 连接以连接到
'mysql' => [
'host' => 'localhost',
'port' => 3307,
],
打开您的 config/database.php
并添加找到您的 mysql 连接。
ssh -i ~/openssh_key -L YOUR_PORT:DATABASE_HOST:DB_PORT USERNAME@REMOTE_HOST