가 나는 데이터베이스를 만들기 위해 MyIP에/phpMyAdmin을 사용mysqli_connect() (/ 2002 HY000)는 원격 서버
$host = 'myIP:3306';
$user = 'root';
$pass = 'pass';
$conn = mysqli_connect("$host", "$user", "$pass");
//check connection
if (mysqli_connect_errno())
{
echo "Error: " . mysqli_connect_error();
}
PHP 코드를 사용하여 원격 서버의 데이터베이스에 연결 (mysqli)를 시도하고 연결에 실패 mysql이 제대로 실행되고 있는지 확인하기 위해 퍼티를 사용했습니다. 또한 내 서버에서 mysql의 기본 포트 (3306)를 확인했습니다.
주어진 오류는 연결 실패/시간 초과/응답 없음으로 설명됩니다.
또한 mysqli 대신 PDO를 사용해 보았지만 같은 결과가 나왔습니다. 다른 모든 예제에서는 localhosts 및 그 게시물에 주어진 솔루션에 소켓 경로를 사용하여 연결하는 방법을 찾을 수 있습니다. (이는 원격으로 나와 솔루션이 아닌 것처럼 보입니다).
학교에서 제공하는 Linux 서버입니다. 아이디어가 있으십니까? 미리 감사드립니다.
host, username, password, dbname, port, socket
호스트 및 포트는 별개 : mysqli_connect()와
사이의 일부 방화벽과 같은 소리로 요청을 차단합니다. – arkascha
Linux를 사용하는 경우 방화벽에 예외를 추가 할 수 있습니다. 우분투에서는 $ ufw allow 3306입니다. – Ben
'telnet myIp 3306'을 시도하십시오. 연결에 실패하면 네트워크 문제가 있음을 알 수 있습니다. 시간 초과 = 방화벽이 패킷을 자동으로 삭제합니다. connection refused = 해당 ip : 포트에서 수신 대기하지 않거나 방화벽이 연결을 적극적으로 거부합니다. –