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

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

王林
王林원래의
2023-06-22 13:36:491417검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.