Tôi đã gặp cùng một loại vấn đề với các phần mở rộng php ldap, intl, curl. Tôi đã giải quyết những vấn đề đó bằng những cách sau:
Đầu tiên, bạn phải kiểm tra xem các phần mở rộng này đã được kích hoạt trong tệp php.ini hay chưa bằng cách xóa dấu chấm phẩy (;) trước các dòng sau:
;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll
Thứ hai, các tệp libeay32.dll, ibssh2.dll và ssleay32.dll phải được tải bằng php đúng cách để các phần mở rộng đó hoạt động bình thường. Các tệp dll này được yêu cầu bởi một số phần mở rộng php (tức là curl, ldap, intl, v.v.). Các tệp này thường nằm trong thư mục cài đặt php [đối với trường hợp của tôi, đó là thư mục C: \ php]. Ngoài ra, để phần mở rộng intl được bật, bạn sẽ cần một số tệp dll khác được tải bằng php đúng cách. Tên của các tệp này bắt đầu bằng icu (tức là icudt57.dll icuin57.dll, v.v. cho php phiên bản 5.6). Bạn cũng sẽ tìm thấy các tệp này trong thư mục cài đặt chính của php.
Có một cách thay thế bạn có thể tải các tệp này từ tệp httpd.conf (tệp cấu hình apache) thay vì sao chép chúng vào thư mục bin của apache. Điều này có thể được thực hiện bằng cách sử dụng kỹ thuật sau:
Xin lưu ý rằng phiên bản php của tôi là 5.5.
LoadFile "C:/php/icudt51.dll"
LoadFile "C:/php/icuin51.dll"
LoadFile "C:/php/icuio51.dll"
LoadFile "C:/php/icule51.dll"
LoadFile "C:/php/iculx51.dll"
LoadFile "C:/php/icutest51.dll"
LoadFile "C:/php/icutu51.dll"
LoadFile "C:/php/icuuc51.dll"
LoadFile "C:/php/libeay32.dll"
LoadFile "C:/php/libssh2.dll"
LoadFile "C:/php/ssleay32.dll"
That's it.