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

WBOY
Lepaskan: 2023-06-23 13:28:02
asal
1355 orang telah melayarinya

Bagi pembangun yang menggunakan PHP untuk sambungan SSH, mungkin sangat biasa untuk menghadapi ralat "PHP Fatal error: Call to undefined function ssh2_sftp()". Ralat ini biasanya disebabkan oleh sambungan yang tiada, dan artikel ini akan menunjukkan kepada anda cara untuk membetulkannya.

Pertama, kita perlu menyemak sama ada sambungan SSH2 sudah dipasang pada pelayan. Jalankan arahan berikut dalam terminal untuk menyemak sama ada ia dipasang:

php -m | grep ssh2
Salin selepas log masuk
Salin selepas log masuk

Jika hasil pulangan kosong, maka sambungan SSH2 tidak dipasang. Kita perlu memasangnya dengan mengikut langkah:

  1. Pasang Libssh2

Libssh2 ialah perpustakaan pelanggan berdasarkan protokol SSH2 untuk menyambung ke pelayan SSH. Kami perlu memuat turun perpustakaan Libssh2 dari laman web rasmi. Kod sumber Libssh2 terkini boleh didapati di pautan berikut:

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

Selepas muat turun selesai, selesaikan Zip fail dan pergi ke folder unzip, jalankan arahan berikut dalam terminal untuk memasang Libssh2:

./configure
make
sudo make install
Salin selepas log masuk
  1. Pasang sambungan PECL SSH2

PECL ialah pusat perpustakaan sambungan PHP , yang menyediakan kod sumber untuk banyak sambungan PHP. Jika kami ingin menggunakan PECL untuk memasang sambungan SSH2, kami perlu menjalankan arahan berikut dalam terminal:

sudo pecl install ssh2
Salin selepas log masuk

Semasa proses pemasangan, anda mungkin digesa untuk mengisi laluan ke konfigurasi php.ini fail. Anda boleh menggunakan arahan berikut untuk mencari laluan ke fail php.ini:

php -i | grep php.ini
Salin selepas log masuk

Selepas pemasangan, anda perlu menambah maklumat konfigurasi berikut pada fail php.ini:

extension=ssh2.so
Salin selepas log masuk
  1. Mulakan semula PHP- pelayan FPM atau Apache

Selepas melengkapkan dua langkah di atas, kita perlu memulakan semula pelayan PHP-FPM atau Apache. PHP-FPM boleh dimulakan semula dengan menjalankan arahan berikut dalam terminal:

sudo service php-fpm restart
Salin selepas log masuk

Jika menggunakan pelayan Apache, anda boleh menggunakan arahan berikut untuk memulakan semula:

sudo service apache2 restart
Salin selepas log masuk
  1. Semak sama ada Sambungan SSH2 dipasang

Kami boleh menyemak semula jika sambungan SSH2 dipasang. Jalankan arahan berikut dalam terminal:

php -m | grep ssh2
Salin selepas log masuk
Salin selepas log masuk

Jika perkataan "ssh2" dikembalikan, ia membuktikan bahawa sambungan SSH2 telah berjaya dipasang.

Jika masalah masih tidak dapat diselesaikan selepas langkah di atas, anda boleh cuba memasang perpustakaan bergantung lain atau menaik taraf versi PHP.

Ringkasnya, menyelesaikan ralat "PHP Fatal: Call to undefined function ssh2_sftp()" memerlukan kami menyelesaikan masalah dengan teliti dan mengikut langkah di atas untuk menyemak satu persatu. Selamat menyelesaikan masalah semua!

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan