Tôi đang cố định vị php_intl.dll
và cài đặt nó.
Có ai có bất cứ lời khuyên?
Câu trả lời:
Các gói tại http://windows.php.net/download/ đều chứa gói php\_intl.dll
nằm trong subir ext/
.
Tất cả những gì bạn phải làm là kiểm tra xem extension_dir của bạn có trỏ đến đúng thư mục hay không và thêm (hoặc bỏ ghi chú) extension=php\_intl.dll
chỉ thị.
Để php_intl.dll
tiện ích mở rộng hoạt động chính xác, bạn cần có các tệp sau trong một thư mục trong PATH
:
icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
Theo mặc định, họ đang ngồi trong thư mục PHP của bạn, nhưng thư mục đó không nhất thiết phải nằm trong thư mục của bạn PATH
(nó không dành cho tôi, sử dụng xampp)
Điều này phải nằm trong đường dẫn toàn cầu của bạn, không chỉ đường dẫn của người dùng. Để đặt đường dẫn chung, hãy chuyển đến thông tin hệ thống ( windows key + PAUSE), sau đó đến Cài đặt Hệ thống Nâng cao (Vista +) hoặc Nâng cao (XP) và nhấp vào nút "Biến Môi trường" và thêm thư mục thích hợp vào PATH
biến trong danh sách Biến Hệ thống.
Tôi đã cài đặt XAMPP 1.8.3-0 và PHP 5.5.0.
1) chỉnh sửa php.ini:
từ
;extension=php_intl.dll
đến
extension=php_intl.dll
Lưu ý: Sau khi sửa đổi, cần lưu tệp tin (php.ini) cũng như cần khởi động lại Apache Server.
2) Chỉ cần sao chép tất cả các tệp icu * * * * * .dll :
từ
C: \ xampp \ php
đến
C: \ xampp \ apache \ bin
Sau đó, phần mở rộng intl hoạt động !!!
msvcp*
tệp DLL. Tệp bạn đề cập msvcp110.dll
phải được chứa trong gói VC ++ 2012 Redist.
Gặp sự cố tương tự ... Tôi đã tìm thấy các tệp cần thiết bằng cách tìm kiếm icu * * .dll trong ổ đĩa của mình và tìm thấy những tệp được liệt kê ở trên nhưng có 46 thay vì 36 trong thư mục php. Tôi sao chép dán chúng vào tệp apache / bin và thử khởi động apache và cuối cùng nó cũng bắt đầu. Trên trang Kiểm tra Máy chủ, nó hiện đã thay đổi từ Kiểm tra Vàng thành Xanh lục OK. Hi vọng điêu nay co ich.
Nếu bạn đọc thông báo lỗi, thiếu "icuuc36.dll". Vấn đề là bạn không có PHP dir trong PATH của mình, hoặc bạn có thể sao chép tất cả các tệp "intl" từ thư mục php sang thư mục apache \ bin. Đó là: icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll
Đối với WampServer 2.5 ( Apache 2.4.9 và PHP 5.5.12 ):
Theo mặc định, tôi đã php_intl
bật (bạn có thể bật nó khi bạnleft click on the wamp icon in the system tray > PHP > PHP extensions
và kiểm tra xem nó đã được đánh dấu chưa)
Để nó hoạt động bình thường, tôi phải sao chép :
C: \ wamp \ bin \ php \ php5.5.12 \ icu ** 51.dll
(tổng số 8 tệp)
đến
C: \ wamp \ bin \ apache \ apache2.4.9 \ bin
Sau đó, chỉ cần khởi động lại wamp và mọi thứ đều ổn.
Tôi có PHP 5.3.1 và Apache
Khi tôi thêm extension=php_intl.dll
vào php.ini và khởi động lại apache, nó xuất hiện một cảnh báo cho biết "thao tác được yêu cầu không thành công"
Và lỗi này trên Event Monitor:
Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005
Vấn đề là một số DLL như icudt36.dll bị thiếu (nhận thấy với sysinternals ProcMon), tôi đã tải xuống phiên bản zip php 5.3.1 và giải nén tất cả DLL vào thư mục PHP. Điều đó đã giải quyết vấn đề.
Tôi đã giải quyết vấn đề này bằng cách thêm thư mục PHP vào biến PATH. Tôi chỉ nối ;C:\xampp\php
để Path
biến trong biến môi trường Windows.
Tôi có IIS 7 và đã cài đặt PHP bằng Microsoft Web Platform Installer trên Windows 7. Trong IIS, đi tới Trình quản lý PHP trong trang chính cài đặt -> Tiện ích mở rộng PHP -> Bật hoặc Tắt tiện ích mở rộng. Tiện ích mở rộng Intl bị tắt theo mặc định.
Tôi hi vọng cái này giúp được
Bạn có thể gõ lệnh này trong terminal: sudo apt-get install php-intl
Nếu bạn gặp lỗi thiếu tệp msvcp110.dll. Bạn phải tải xuống .dll phù hợp hoặc chỉ cần truy cập vào đây http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 và cài đặt vcredist_x64.exe và vcredist_x86.exe, nó phù hợp với tôi .
Khi tôi gặp phải vấn đề này, nó đã được giải quyết bằng cách sử dụng các bước được đề cập dưới đây:
Chỉnh sửa php.ini:
Làm
; extension = php_intl.dll tới
extension = php_intl.dll Chỉ cần sao chép tất cả các tệp icu * * * * .dll (bất kỳ tệp icu nào có phần mở rộng dll) từ
C: \ xampp \ php tới C: \ xampp \ apache \ bin
Ngoài ra Nếu bạn gặp lỗi thiếu tệp msvcp110.dll. Bạn phải tải xuống .dll phù hợp hoặc chỉ cần truy cập vào đây http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 và cài đặt vcredist_x64.exe và vcredist_x86.exe.
Bây giờ phần mở rộng intl sẽ hoạt động :-)
Trong trường hợp của tôi, việc thêm thư mục PHP vào PATH trong môi trường người dùng không hoạt động. Sau một số thử nghiệm, tôi thấy rằng nó nên được thêm vào PATH hệ thống (Tôi không biết tên của phần này của cửa sổ thiết lập hệ thống là gì, vì tôi có Windows Ba Lan).
Gói này đã được bao gồm trong các phần mở rộng cho PHP 7.2 trở lên và bạn chỉ cần bỏ ghi chú dòng sau trong php.ini
extension=intl
Trong bảng điều khiển xampp của tôi, Nhấp vào cấu hình để mở php.ini
tẩy ; trong
; extension = php_intl.dll
Sau đó khởi động lại apache.
Có một cách tốt hơn để làm điều này.
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
Bây giờ bạn có thể tải trực tiếp các tệp dll cần thiết đó (tức là libeay32, libssh2, ssleay32, icu **. Dll) từ tệp httpd.conf (tệp cấu hình apache) của bạn. Bạn không phải làm bất kỳ việc nào khác như sao chép chúng vào thư mục bin của apache hoặc thư mục ext của php. Chỉ cần thêm chúng trực tiếp vào tệp httpd.conf của apache.
Xin lưu ý rằng ví dụ sau dành cho phiên bản php 5.5.x.
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"
Đó là nó. Bây giờ, khởi động lại apache hoặc wamp của bạn và bạn đã sẵn sàng.
Tôi đã gặp sự cố khi chạy intl bằng PHP 7.1.7 và PhpStorm trên Windows 10. Dựa trên các câu trả lời khác ở đây, tôi có thể nói đó là sự cố phụ thuộc PATH / DLL nhưng dường như tôi không thể tìm thấy tất cả các tệp được yêu cầu ngay cả sau khi (lại) cài đặt Visual C ++ Redistributable.
Cuối cùng tôi đã tìm kiếm vcr * .dll trong ổ C: và tìm thấy một bản sao của vcruntime140.dll trong C:\Program Files\Mozilla Firefox
thư mục của mình . Vì vậy, ngoài việc thực hiện những thay đổi này đối với php.ini:
extension_dir = "ext"
extension=php_intl.dll
Tôi cũng đã đặt PATH thời gian chạy của mình thành CHỈ thư mục PHP (trong trường hợp của tôi là C:\Program Files\PHP\7.1.7
) và thư mục Firefox (ở trên) và nó hoạt động CUỐI CÙNG! Tôi biết nó cần nhiều thứ hơn chỉ là vcruntime140.dll mà các tệp DLL bắt buộc khác cũng phải nằm trong thư mục FF (có vài chục tệp nhưng tôi không buồn tìm ra cái nào là cần thiết).
Bạn phải sửa đổi tệp php.ini bằng cách bỏ dấu chấm phẩy trên dòng chứa extension = php_intl.dll
Sau đó, vào thư mục php của Xamp hoặc Wamp hoặc EasyPHP, sao chép mọi tệp dll có chứa icu *, Dán chúng vào bên trong tệp windows của bạn.
Điều đó đã làm việc cho tôi. Cấu hình: EasyPHP Dev Server, Windows 10.