Rumah >pembangunan bahagian belakang >tutorial php >PHP Ralat maut: Ralat Tidak Ditangkap: Panggilan ke penyelesaian ssh2 fungsi yang tidak ditentukan ()
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.
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.
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.
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 .
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!