Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan ssh2_connect()

Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan ssh2_connect()

王林
王林asal
2023-06-22 13:36:491373semak imbas

Apabila menggunakan SSH2 untuk menyambung ke pelayan jauh, sesetengah pengguna sering menghadapi mesej ralat "PHP Fatal error: Call to undefined function ssh2_connect()", menyebabkan sambungan gagal. Ini disebabkan oleh pelayan tidak memasang sambungan ssh2. Artikel ini menerangkan cara menyelesaikan masalah ini.

1. Semak sama ada sambungan SSH2 telah dipasang

Pertama, anda perlu menyemak sama ada sambungan ssh2 telah dipasang pada pelayan. Gunakan arahan berikut untuk menyemak:

php -m | grep ssh2

Jika pelayan memasang sambungan ssh2, output sepatutnya kelihatan seperti ini:

ssh2

Jika output kosong, anda perlu memasang sambungan ssh2 .

2. Pasang sambungan SSH2

Terdapat dua cara untuk memasang sambungan ssh2 iaitu menggunakan arahan yum dan kompilasi manual.

Gunakan arahan yum

Gunakan arahan berikut untuk memasang:

yum install php-pecl-ssh2 -y

Selepas pemasangan selesai, mulakan semula perkhidmatan Apache atau Nginx.

Kaedah penyusunan manual

Jika pengurus pakej yum tidak dipasang pada pelayan, anda boleh menggunakan langkah berikut untuk menyusun sambungan ssh2 secara manual.

2.1 Muat turun kod sumber ssh2

Pergi ke tapak web PECL untuk memuat turun kod sumber sambungan ssh2:

http://pecl.php.net/package/ssh2

Pilih versi terkini untuk dimuat turun, seperti ssh2-1.3. tgz. Selepas muat turun selesai, masukkan direktori kod sumber ssh2 dan laksanakan arahan berikut:

tar zxvf ssh2-1.3.tgz
cd ssh2-1.3/

2.2 Pasang kebergantungan

Gunakan arahan berikut untuk memasang kebergantungan yang diperlukan untuk menyusun sambungan ssh2:

yum install php-devel libssh2 libssh2-devel -y

2.3 Susun dan pasang

Laksanakan arahan berikut untuk menyusun dan memasang:

phpize
./configure --with-php-config=/usr/bin/php-config
make && make install

Selepas selesai, tambah baris berikut pada fail konfigurasi PHP php.ini:

extension=ssh2.so

3. Mulakan semula perkhidmatan Apache atau Nginx

Selepas memasang atau menyusun sambungan ssh2, anda perlu memulakan semula perkhidmatan Apache atau Nginx agar konfigurasi berkuat kuasa.

Mulakan semula perkhidmatan Apache menggunakan arahan berikut:

apachectl -k restart

Mulakan semula perkhidmatan Nginx menggunakan arahan berikut:

nginx -s reload

4. Semak sama ada sambungan SSH2 didayakan

Akhir sekali, gunakan Command php -m |. Sambungan SSH2 dipasang dengan betul dan sahkan bahawa dalam fail konfigurasi PHP php .ini mengandungi sambungan=ssh2.so baris.

Ringkasan

Melalui langkah di atas, anda boleh menyelesaikan mesej ralat "PHP Fatal error: Call to undefined function ssh2_connect()". Untuk mengelakkan ralat ini, disyorkan untuk memasang sambungan ssh2 semasa memasang pelayan untuk memudahkan sambungan ke pelayan jauh.

Atas ialah kandungan terperinci Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan ssh2_connect(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn