Rumah > pembangunan bahagian belakang > tutorial php > Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined ldap_connect()

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined ldap_connect()

PHPz
Lepaskan: 2023-06-23 08:24:02
asal
1152 orang telah melayarinya

Dalam aplikasi PHP, sangat biasa menggunakan LDAP (Lightweight Directory Access Protocol). Walau bagaimanapun, kadangkala anda mungkin menerima mesej ralat berikut:

PHP Fatal error: Call to undefined function ldap_connect()

Mesej ralat ini menunjukkan bahawa versi PHP anda tidak memuatkan atau mendayakan LDAP Extension . Ini dengan mudah boleh menyebabkan pengguna tidak dapat menyambung ke pelayan LDAP dan melakukan operasi yang sepadan.

Dalam artikel ini, kita akan membincangkan cara menyelesaikan mesej ralat ini.

  1. Semak sama ada sambungan LDAP PHP telah didayakan

Mula-mula, pastikan sambungan LDAP telah didayakan dalam persekitaran PHP anda. Anda boleh menyemak dengan:

Buka terminal dan jalankan arahan berikut:

php -m | grep ldap

Jika anda melihat kata kunci "ldap" Output menunjukkan bahawa sambungan LDAP telah didayakan. Jika tidak, anda perlu mendayakannya, kaedah yang tepat akan berbeza-beza bergantung pada sistem dan versi PHP yang anda gunakan.

  1. Dayakan sambungan LDAP dalam fail php.ini

Jika sambungan LDAP tidak didayakan dalam persekitaran PHP anda, anda boleh mendayakannya dengan mengedit php.ini fail. Dalam sistem Linux, php.ini biasanya terletak dalam direktori /etc/, manakala dalam sistem Windows, ia terletak dalam direktori akar PHP.

Buka fail php.ini dan cari baris berikut:

;extension=php_ldap.dll

Alih keluar koma bernoktah di hadapan dan tukar sambungan kepada sistem anda berada menggunakan sambungan yang sepadan:

extension=php_ldap.so (Linux)

extension=php_ldap.dll (Windows)

Simpan dan tutup fail, kemudian mulakan semula pelayan Web anda.

  1. Mulakan semula pelayan web

Jika anda telah mendayakan sambungan LDAP dan ia masih tidak berfungsi, cuba mulakan semula pelayan web anda.

Dalam sistem Linux, anda boleh menggunakan arahan berikut untuk memulakan semula Apache:

sudo service apache2 restart

Dalam sistem Windows, anda boleh menggunakan arahan berikut untuk memulakan semula IIS:

iisreset

  1. Semak sama ada perkhidmatan LDAP tersedia

Jika sambungan LDAP didayakan dan anda telah memulakan semula pelayan web tetapi masih tidak dapat menyambung ke Pelayan LDAP, ini mungkin kerana perkhidmatan LDAP tidak tersedia.

Anda boleh mencuba arahan berikut untuk menyemak sama ada perkhidmatan LDAP tersedia:

telnet your-ldap-server-hostname 389

Jika output adalah serupa dengan yang berikut , ini bermakna Perkhidmatan LDAP tersedia:

Mencuba 10.0.2.15...

Disambungkan ke nama hos-ldap-server anda.

Awak Escape ialah '^]'.

  1. Pastikan kod PHP anda betul

Akhir sekali, anda perlu memastikan kod PHP anda betul. Semak bahawa tempat dalam kod PHP di mana fungsi ldap_connect() dipanggil adalah betul dan pastikan semua parameter adalah betul. Sebelum memanggil fungsi tersebut, anda perlu memastikan sambungan LDAP dimuatkan dan perkhidmatan LDAP tersedia.

Ringkasan

Jika anda menemui mesej ralat "Panggil ke fungsi undefined ldap_connect()", sila ikut langkah di atas untuk menyemak satu demi satu. Mula-mula semak sama ada sambungan LDAP telah didayakan, dan kemudian sahkan sama ada fail php.ini telah dikonfigurasikan dengan betul. Kedua, anda perlu memulakan semula pelayan web dan menyemak sama ada perkhidmatan LDAP tersedia. Akhir sekali, pastikan kod PHP anda betul. Jika anda telah mengikuti langkah di atas untuk membetulkannya, tetapi masalah masih wujud, anda boleh mempertimbangkan untuk menggunakan sambungan lain yang serupa atau menggunakan pustaka antara muka LDAP.

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