Rumah > Artikel > pembangunan bahagian belakang > Penyelesaian kepada ralat PHP Fatal: Panggilan ke fungsi yang tidak ditentukan ssh2_connect()
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!