我在OS X Yosemite上,用Laravel 5.3运行最新的家园。
我能够从OS X运行并重置终端中的迁移。当我使用标准连接使用Sequel Pro连接到数据库时,我可以看到这些表。当我通过SSH进入虚拟框并运行mysql -uhomestead -psecret
时,我甚至会看到表格。
问题是,当我尝试从浏览器注册新用户时,出现PDOException in Connector.php line 119: SQLSTATE[HY000] [2002] Connection refused
错误。当我运行php artisan serve
并在http://localhost:8000/register
填写表单时,它可以正常工作。
我尝试将DB_HOST
更改为192.168.10.10
,但这会导致迁移失败。
我可能在尝试安装mysql时创建了一些混乱。我用自制软件安装它。然后我跑了mysql.server start
,另一点我跑了brew services start mysql
,因为我不确定它是否正常工作。
Homestead.yml文件:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/code/laravel
to: /home/vagrant/laravel
type: "nfs"
sites:
- map: votingapp.dev
to: /home/vagrant/laravel/votingapp/public
databases:
- homestead
.env文件:
APP_ENV=local
APP_KEY=base64:xxxxxxxx
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=votingapp_development
DB_USERNAME=homestead
DB_PASSWORD=secret
web.php文件:
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index');
答案 0 :(得分:1)
事实证明我的端口号错了。在.env
文件中它应该是3306,而在Sequel Pro中它应该是33060。
根据Laravel手册的Connecting to databases:
连接时,您应该只使用这些非标准端口 来自主机的数据库。您将使用默认3306和 自Laravel以来Laravel数据库配置文件中的5432个端口 正在虚拟机中运行。
答案 1 :(得分:0)
如果您在127.0.0.1中使用Mamp,请添加:8889或您的配置mamp端口。enter image description here
127.0.0.1:8889或localhost:8889