Rumah >pembangunan bahagian belakang >tutorial php >PHP Ralat maut: Ralat Tidak Ditangkap: Panggilan ke penyelesaian ssh2 fungsi yang tidak ditentukan ()

PHP Ralat maut: Ralat Tidak Ditangkap: Panggilan ke penyelesaian ssh2 fungsi yang tidak ditentukan ()

WBOY
WBOYasal
2023-06-22 19:43:35937semak imbas

Baru-baru ini, apabila menggunakan PHP untuk sambungan SSH, sesetengah pembangun akan menghadapi mesej ralat berikut:

PHP Ralat maut: Ralat Tidak Ditangkap: Panggil ke fungsi yang tidak ditentukan ssh2_connect()

atau

PHP Fatal error: Uncaught Error: Call to undefined function ssh2_shell()

Sebab utama ralat ini ialah PHP kehilangan pustaka sambungan ssh2. Artikel ini akan menerangkan cara menyelesaikan masalah ini.

  1. Dayakan perpustakaan sambungan PHP ssh2

Mula-mula, cari fail php_ssh2.dll dalam folder ext dalam direktori pemasangan PHP, dan kemudian konfigurasikannya dalam php.ini:

extension=php_ssh2.dll

Kemudian mulakan semula pelayan Apache. Jika terdapat modul ssh2 selepas melaksanakan perintah php -m, ini bermakna perpustakaan sambungan ssh2 telah berjaya dibuka.

  1. Gunakan PECL untuk memasang pustaka sambungan ssh2

Jika versi PHP anda kurang daripada 5.3.0 dan pustaka sambungan ssh2 tidak disediakan, anda perlu menggunakan PECL untuk memasangnya.

Mula-mula, pasang libssh2 menggunakan arahan berikut:

yum install libssh2 libssh2-devel

Kemudian, gunakan PECL untuk memasang pustaka sambungan ssh2:

pecl install ssh2 -1.0

Akhir sekali, tambah maklumat konfigurasi berikut dalam php.ini:

extension=ssh2.so

Kemudian mulakan semula pelayan Apache.

  1. fail konfigurasi perpustakaan sambungan ssh2

Selain itu, perpustakaan sambungan ssh2 perlu mengkonfigurasi laluan ssh2, yang perlu ditambah dalam /etc/php.d /ssh2.ini Maklumat konfigurasi berikut:

extension=ssh2.so
ssh2.config=/usr/local/lib

Secara amnya, anda perlu mengubah suai laluan dalam ssh2. config mengikut situasi sebenar .

  1. Semak pemasangan libssh2

Nampaknya di Linux, adalah perkara biasa yang perpustakaan ssh2 tidak dapat dikenali. Jika anda masih menghadapi masalah, anda perlu menyemak sama ada pakej libssh2 dipasang. Anda juga boleh menggunakan arahan berikut untuk memasang pakej libssh2:

yum install libssh2

Akhir sekali, kami mengesyorkan agar anda menambah maklumat penyahpepijatan berikut pada program PHP anda untuk menemui masalah sambungan SSH semasa penyahpepijatan :

error_reporting(E_ALL); //Keluarkan semua mesej ralat
ini_set('display_errors', 'on'); //Hidupkan paparan ralat

Atas ialah kandungan terperinci PHP Ralat maut: Ralat Tidak Ditangkap: Panggilan ke penyelesaian ssh2 fungsi yang tidak ditentukan (). 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