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

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

王林
王林asal
2023-06-22 22:40:391400semak imbas

PHP ialah bahasa pengaturcaraan sebelah pelayan yang digunakan secara meluas yang menyokong pelbagai sistem pengendalian dan pelayan web. Apabila menggunakan protokol SSH (Secure Shell) untuk sambungan jauh dalam PHP, mesej ralat "PHP Fatal error: Call to undefined function ssh2_exec()" mungkin muncul. Artikel ini akan menerangkan cara menyelesaikan ralat ini.

1. Pasang sambungan ssh2
Mula-mula, anda perlu memasang sambungan ssh2 ini menyediakan fungsi yang digunakan PHP untuk berinteraksi dengan pelayan SSH. Boleh dipasang melalui:

Dalam Ubuntu dan Debian, gunakan arahan berikut:
sudo apt-get install libssh2-1-dev libssh2-php

Dalam CentOS dan Red Hat Enterprise In Linux, gunakan arahan berikut:
sudo yum install gcc php-devel php-pear libssh2 libssh2-devel

  1. Kompil dan pasang sambungan ssh2
    Selepas memasang sambungan ssh2, anda perlu untuk menggunakan PECL ( PHP Extension Community Library) untuk menyusun dan memasang sambungan. PECL ialah alat untuk mengurus sambungan PHP secara berpusat, menjadikannya mudah untuk mendapatkan dan memasang sambungan PHP. Jalankan arahan berikut:

sudo pecl install ssh2

Selepas pemasangan selesai, anda perlu menambah sambungan ssh2 pada fail php.ini. Lokasi fail php.ini boleh didapati dengan arahan berikut:

php -i | grep 'Loaded Configuration File'

Kemudian, buka fail php.ini dan tambah yang berikut kandungan pada penghujung:

extension=ssh2.so

Simpan dan tutup fail.

3. Mulakan semula pelayan Web
Selepas melengkapkan langkah di atas, anda perlu memulakan semula pelayan Web untuk tetapan baharu berkuat kuasa. Dalam Ubuntu dan Debian, mulakan semula pelayan Apache menggunakan arahan berikut:

sudo service apache2 restart

Dalam CentOS dan Red Hat Enterprise Linux, mulakan semula pelayan Apache menggunakan arahan berikut:

perkhidmatan sudo httpd restart

4. Uji sambungan ssh2
Untuk menguji sama ada sambungan ssh2 telah dipasang dengan betul, anda boleh mencipta skrip PHP mudah:

jika (!function_exists("ssh2_connect")) mati("Tidak dapat menyambung ke pelayan SSH, sila pasang sambungan ssh2.");
echo lain "Sambungan ssh2 telah berfungsi seperti biasa.";
?>

Simpan sebagai ssh2test.php dan akses fail dalam penyemak imbas anda. Jika anda melihat mesej "Pelanjutan ssh2 telah berfungsi dengan betul.", ini bermakna sambungan ssh2 telah berjaya dipasang dan berfungsi dengan betul.

Ringkasan
Apabila menggunakan protokol SSH untuk sambungan jauh, apabila mesej ralat "PHP Fatal error: Call to undefined function ssh2_exec()" muncul, ia boleh diselesaikan dengan memasang sambungan ssh2 dan mengkonfigurasi semula pelayan web. Sila ikuti langkah yang diterangkan dalam artikel ini untuk memastikan sambungan ssh2 berfungsi dengan betul dalam aplikasi PHP anda.

Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan ssh2_exec(). 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