SQLSTATE[HY000] [2002] 连接仅在浏览器中被拒绝
SQLSTATE[HY000] [2002] Connection refused only in browser
我正在 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');
原来是我输入了错误的端口号。在 .env
文件中它应该是 3306 而在 Sequel Pro 中它应该是 33060.
根据 Laravel 手册的 Connecting to databases:
You should only use these non-standard ports when connecting to the
databases from your host machine. You will use the default 3306 and
5432 ports in your Laravel database configuration file since Laravel
is running within the virtual machine.
如果您在 127.0.0.1 中使用 Mamp,请添加 :8889 或您的配置 mamp 的端口。enter image description here
127.0.0.1:8889 或 localhost:8889
我正在 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');
原来是我输入了错误的端口号。在 .env
文件中它应该是 3306 而在 Sequel Pro 中它应该是 33060.
根据 Laravel 手册的 Connecting to databases:
You should only use these non-standard ports when connecting to the databases from your host machine. You will use the default 3306 and 5432 ports in your Laravel database configuration file since Laravel is running within the virtual machine.
如果您在 127.0.0.1 中使用 Mamp,请添加 :8889 或您的配置 mamp 的端口。enter image description here
127.0.0.1:8889 或 localhost:8889