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

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

WBOY
WBOY원래의
2023-06-23 11:12:131393검색

SSH 연결에 PHP를 사용하는 개발자의 경우 "PHP 치명적인 오류: 정의되지 않은 함수 ssh2_sftp() 호출" 오류가 발생하는 것이 매우 일반적일 수 있습니다. 이 오류는 일반적으로 확장 프로그램 누락으로 인해 발생하며 이 문서에서는 해결 방법을 보여줍니다.

먼저 SSH2 확장 프로그램이 서버에 이미 설치되어 있는지 확인해야 합니다. 설치 여부를 확인하려면 터미널에서 다음 명령을 실행하세요.

php -m | grep ssh2

반환 결과가 비어 있으면 SSH2 확장이 설치되지 않은 것입니다. 다음 단계에 따라 설치해야 합니다.

  1. Libssh2 설치

Libssh2는 SSH 서버에 연결하기 위한 SSH2 프로토콜 기반 클라이언트 라이브러리입니다. 공식 웹사이트에서 Libssh2 라이브러리를 다운로드해야 합니다. 최신 Libssh2 소스코드는 다음 링크에서 확인할 수 있습니다:

https://www.libssh2.org/download/libssh2-1.9.0.tar.gz

다운로드가 완료된 후 파일의 압축을 풀고 압축을 푼 폴더에서 터미널에서 다음 명령을 실행하여 Libssh2를 설치합니다.

./configure
make
sudo make install
  1. PECL SSH2 확장 설치

PECL은 많은 PHP 확장의 소스 코드를 제공하는 PHP 확장 라이브러리 센터입니다. PECL을 사용하여 SSH2 확장을 설치하려면 터미널에서 다음 명령을 실행해야 합니다.

sudo pecl install ssh2

설치 프로세스 중에 php.ini 구성 파일의 경로를 입력하라는 메시지가 나타날 수 있습니다. 다음 명령을 사용하여 php.ini 파일의 경로를 찾을 수 있습니다.

php -i | grep php.ini

설치 후 php.ini 파일에 다음 구성 정보를 추가해야 합니다.

extension=ssh2.so
  1. PHP-FPM 또는 Apache 서버를 다시 시작합니다.

위 두 가지를 완료하세요. 이 단계 후에는 PHP-FPM 또는 Apache 서버를 다시 시작해야 합니다. PHP-FPM을 다시 시작하려면 터미널에서 다음 명령을 실행하세요.

sudo service php-fpm restart

Apache 서버를 사용하는 경우 다음 명령을 사용하여 다시 시작할 수 있습니다.

sudo service apache2 restart
  1. SSH2 확장이 설치되어 있는지 확인하세요.

다시 확인할 수 있습니다. SSH2 확장이 설치된 경우 설치합니다. 터미널에서 다음 명령을 실행하세요.

php -m | grep ssh2

"ssh2"라는 단어가 반환되면 SSH2 확장 프로그램이 성공적으로 설치된 것입니다.

위 단계 후에도 문제가 해결되지 않으면 다른 종속 라이브러리를 설치하거나 PHP 버전을 업그레이드해 보세요.

간단히 말하면, "PHP 치명적인 오류: 정의되지 않은 함수 ssh2_sftp() 호출" 오류를 해결하려면 문제를 주의 깊게 해결하고 위의 단계에 따라 하나씩 확인해야 합니다. 모두 즐거운 문제 해결 되세요!

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

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