1

我在 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');
4

2 回答 2

1

原来我有错误的端口号。在.env文件中它应该是 3306,而在 Sequel Pro 中它应该是 33060。

根据Laravel 手册的连接到数据库:

从主机连接到数据库时,您应该只使用这些非标准端口。由于 Laravel 在虚拟机中运行,您将在 Laravel 数据库配置文件中使用默认的 3306 和 5432 端口。

于 2016-08-30T14:13:38.090 回答
0

如果您在 127.0.0.1 中使用 Mamp,请添加 :8889 或您的配置 mamp 端口。在此处输入图像描述

127.0.0.1:8889 或 localhost:8889

于 2016-12-29T15:43:36.407 回答