그 제목에 저와 함께, 나는 약간 이상하다는 것을 압니다. 내 문제는 다음과 같습니다. 저는 Node.js에서 작성한 WebSocket Server를 실행 중이며 주로 Laravel로 작성된 환경에서 실행됩니다. .env
파일을 Laravel처럼 활용하려면 dotenv
패키지를 사용하고 있습니다.호출 파일이 같더라도 연결 오류가 발생하는 이유
나는 매우 이상하게 보였다. 나는 그것을 설명 할 수 전에, 내 노드 또한 당신에게 Laravel 전형적인 빠른 폴더 구조를 제공하자
htdocs
- app
- node
- RunServer.js
- db.js
....
- resources
....
내 관측
나는 htdocs
폴더 안에 있고 내가 node node/RunServer.js
을 실행
/var/www/html/bigriss/node/db.js:16
if (err) throw err;
^
Error: connect ECONNREFUSED 127.0.1.1:3306
....
cd node; node RunServer.js
동안 오류를 제공하지 않는 서버는 예상대로 실행하기 시작 : 나는 다음과 같은 오류가 발생합니다. 다음과 같이 db.js 파일은 같습니다
var mysql = require('mysql');
require('dotenv').config({path: '../.env'});
mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
port: process.env.DB_PORT,
database: process.env.DB_DATABASE
}).connect(function(err) {
if (err) throw err;
});
분명히 문제가 dotenv
과 관련이있다하지만 확실하지 오전하는 이유도 모두 node node/RunServer.js
및 cd node; node RunServer.js
그러나 (나에게 다른 process.env 출력을 제공) 파일 변경의 경로 똑같은 것을 실행하십시오. 이것에 대한 설명이 있습니까?