2016-08-30 2 views
1

OS X Yosemite에서 Laravel 5.3을 사용하여 최신 농가를 돌리고 있습니다.SQLSTATE [HY000] [2002] 브라우저에서만 연결이 거부되었습니다.

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_HOST192.168.10.10으로 변경하려고 시도했지만 마이그레이션이 실패합니다.

mysql을 설치하는 동안 혼란을 일으켰을 수도 있습니다. 나는 homebrew를 사용하여 그것을 설치했다. 그때 나는 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', '[email protected]'); 
+0

농가는 MySQL은 포함되어 있습니다. Homestead를 사용한다면 왜 homebrew로 MySQL을 설치하겠습니까? – Qevo

+0

Homestead를 사용하고 있다면 MySQL을 설치할 필요가 없습니다. Homestead에없는 MySQL 인스턴스를 사용하려는 경우 Laravel 코드가 실행되는 Homestead 내에서 해당 인스턴스에 액세스하기 위해 올바른 라우팅을 정렬해야합니다. – Qevo

+0

@Qevo 홈 스테이트를 사용하기로 결정하기 전에 MySQL을 설치했습니다. 필요한 경우 MySQL의 모든 인스턴스를 비활성화하거나 제거하려면 어떻게합니까? 어떻게 홈스테드에서 인스턴스에 액세스 할 수 있도록 적절한 라우팅을 설정합니까? Sequel Pro를 사용하여이 MySQL 인스턴스에 어떻게 액세스합니까? –

답변

1

내가 잘못된 포트 번호를했다 밝혀졌습니다. 프로 속편에서이 Laravel 설명서의 Connecting to databases에 따르면 33060.

을해야하는 동안 .env 파일에서이 3306이어야한다 :

에 연결하는 경우에만 이러한 비표준 포트를 사용한다 데이터베이스를 호스트 시스템에서 가져옵니다. 가상 시스템 내에서 Laravel 이 실행 중이기 때문에 Laravel 데이터베이스 구성 파일에 기본 3306 및 5432 포트를 사용합니다.

관련 문제