PHP 기능을 사용하여 SSH를 통해 원격 Linux 시스템에 호스팅된 MySQL 데이터베이스에 연결을 설정하는 것은 어려울 수 있습니다. 제공된 코드를 사용할 때 "mysqli_connect()는 매개변수 6이 문자열이고 리소스가 제공되어야 합니다"라는 오류가 발생할 수 있습니다.
코드는 mysqli_connect() 함수를 사용하여 다음을 시도합니다. SSH 터널을 통해 데이터베이스에 연결합니다. 그러나 mysqli_connect() 함수는 문자열을 여섯 번째 매개변수(터널을 나타냄)로 예상하는 반면 ssh2_tunnel() 함수는 리소스를 반환합니다.
해결 방법 이 문제에서는 MySQL 데이터베이스 서버에 대한 SSH 터널을 설정하십시오. 한 가지 효과적인 방법은 보안 강화를 위해 Jumpbox 프록시를 사용하는 것입니다. 이 접근 방식에는 SSH 클라이언트를 사용하여 로컬 포트 전달 터널을 생성하고 로컬 시스템과 데이터베이스 서버 사이에 보안 채널을 효과적으로 생성하는 작업이 포함됩니다.
사용 명령줄 도구(SSH 터널 설정):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
데이터베이스에 연결:
<code class="php">$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");</code>
추가 고려 사항:
위 내용은 PHP를 사용하여 SSH를 통해 MySQL에 연결할 때 mysqli_connect() 매개변수 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!