최근 SSH 연결을 위해 PHP를 사용할 때 일부 개발자는 다음과 같은 오류 메시지를 보게 됩니다:
PHP 치명적인 오류: Uncaught Error: Call to undefine function ssh2_connect()
또는
PHP Fatal error: Uncaught Error: Call to unundefined function ssh2_shell()
이 오류의 주된 이유는 PHP에 ssh2 확장 라이브러리가 없기 때문입니다. 이 기사에서는 이 문제를 해결하는 방법을 설명합니다.
먼저 PHP 설치 디렉터리 아래 ext 폴더에서 php_ssh2.dll 파일을 찾은 다음 php.ini에서 구성합니다.
extension=php_ssh2.dll
그런 다음 다시 시작하세요. Apache 서버일 뿐입니다. php -m 명령 실행 후 ssh2 모듈이 있다면 ssh2 확장 라이브러리가 성공적으로 오픈되었음을 의미합니다.
PHP 버전이 5.3.0 미만이고 ssh2 확장 라이브러리가 제공되지 않는 경우 PECL을 사용하여 설치해야 합니다.
먼저 다음 명령을 사용하여 libssh2를 설치합니다.
yum install libssh2 libssh2-devel
그런 다음 PECL을 사용하여 ssh2 확장 라이브러리를 설치합니다.
pecl install ssh2-1.0
마지막으로 다음 구성 정보를 추가합니다. php.ini:
extension=ssh2.so
그런 다음 Apache 서버를 다시 시작하세요.
또한 ssh2 확장 라이브러리는 ssh2의 경로를 구성해야 합니다. 이때 /etc/php.d/ssh2.ini에 다음 구성 정보를 추가해야 합니다.
extension=ssh2.so
ssh2.config=/usr/local/lib
일반적으로 실제 상황에 맞게 ssh2.config의 경로를 수정해야 합니다.
리눅스에서는 ssh2 라이브러리를 인식하지 못하는 경우가 매우 흔한 것 같습니다. 여전히 문제가 있는 경우 libssh2 패키지가 설치되어 있는지 확인해야 합니다. 다음 명령을 사용하여 libssh2 패키지를 설치할 수도 있습니다.
yum install libssh2
마지막으로 디버깅 중에 SSH 연결 문제를 발견하려면 PHP 프로그램에 다음 디버깅 정보를 추가하는 것이 좋습니다.
error_reporting(E_ALL); //모든 오류 메시지 출력
ini_set('display_errors', 'on') //오류 표시 켜기
위 내용은 PHP 치명적인 오류: 잡히지 않은 오류: 정의되지 않은 함수 ssh2 솔루션 호출()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!