> 백엔드 개발 > PHP 튜토리얼 > PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ssh2_connect() 호출

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ssh2_connect() 호출

王林
풀어 주다: 2023-06-22 14:32:01
원래의
1561명이 탐색했습니다.

SSH2를 사용하여 원격 서버에 연결할 때 일부 사용자는 종종 "PHP 치명적인 오류: 정의되지 않은 함수 ssh2_connect() 호출"이라는 오류 메시지가 표시되어 연결이 실패하게 됩니다. 이는 서버에 SSH2 확장이 설치되어 있지 않기 때문에 발생합니다. 이 문서에서는 이 문제를 해결하는 방법을 설명합니다.

1. SSH2 확장이 설치되어 있는지 확인

먼저 서버에 SSH2 확장이 설치되어 있는지 확인해야 합니다. 다음 명령을 사용하여 확인하세요.

php -m | grep ssh2
로그인 후 복사

서버에 ssh2 확장이 설치되어 있으면 출력은 다음과 같아야 합니다.

ssh2
로그인 후 복사
로그인 후 복사

출력이 비어 있으면 ssh2 확장을 설치해야 합니다.

2. SSH2 확장 설치

SSH2 확장을 설치하는 방법에는 yum 명령을 사용하는 것과 수동 컴파일을 사용하는 두 가지 방법이 있습니다.

yum 명령을 사용하세요

다음 명령을 사용하여 설치하세요.

yum install php-pecl-ssh2 -y
로그인 후 복사

설치가 완료된 후 Apache 또는 Nginx 서비스를 다시 시작하세요.

수동 컴파일 방법

서버에 yum 패키지 관리자가 설치되어 있지 않은 경우 다음 단계를 사용하여 ssh2 확장을 수동으로 컴파일할 수 있습니다.

2.1 ssh2 소스 코드 다운로드

ssh2 확장 소스 코드를 다운로드하려면 PECL 웹사이트로 이동하세요.

http://pecl.php.net/package/ssh2
로그인 후 복사

ssh2-1.3.tgz와 같이 다운로드할 최신 버전을 선택하세요. 다운로드가 완료되면 ssh2 소스 코드 디렉터리에 들어가서 다음 명령을 실행합니다:

tar zxvf ssh2-1.3.tgz
cd ssh2-1.3/
로그인 후 복사

2.2 종속성 설치

다음 명령을 사용하여 ssh2 확장을 컴파일하는 데 필요한 종속성을 설치합니다:

yum install php-devel libssh2 libssh2-devel -y
로그인 후 복사

2.3 컴파일 및 설치

다음 명령을 실행하여 컴파일하고 설치합니다.

phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
로그인 후 복사

완료 후 PHP 구성 파일 php.ini에 다음 줄을 추가합니다.

extension=ssh2.so
로그인 후 복사

3. Apache 또는 Nginx 서비스를 다시 시작합니다.

ssh2 확장을 설치하거나 컴파일한 후 구성을 적용하려면 Apache 또는 Nginx 서비스를 다시 시작해야 합니다.

다음 명령을 사용하여 Apache 서비스를 다시 시작합니다.

apachectl -k restart
로그인 후 복사

다음 명령을 사용하여 Nginx 서비스를 다시 시작합니다.

nginx -s reload
로그인 후 복사

4 SSH2 확장이 활성화되었는지 확인합니다.

마지막으로 php -m | grep ssh2 명령을 사용하여 다시 확인합니다. ssh2 확장이 활성화되었는지 여부, 출력 다음과 같아야 합니다:

ssh2
로그인 후 복사
로그인 후 복사

출력이 비어 있으면 SSH2 확장이 올바르게 설치되었는지 다시 확인하고 PHP에 Extension=ssh2.so 줄이 포함되어 있는지 확인해야 합니다. 구성 파일 php.ini.

요약

위의 단계를 통해 "PHP 치명적인 오류: 정의되지 않은 함수 ssh2_connect() 호출" 오류 메시지를 해결할 수 있습니다. 이러한 오류를 방지하기 위해서는 서버 설치 시 ssh2 확장자를 설치하여 원격 서버에 보다 쉽게 ​​접속할 수 있도록 하는 것이 좋습니다.

위 내용은 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ssh2_connect() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿