2013-08-20 33 views
5

Tôi đang sử dụng PHP 5.4.18 và đang cố gắng sử dụng đối tượng Locale.Cách bật lớp PHP Locale

Tôi đã thử các cuộc gọi sau đây:

$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']); 
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']); 

tôi nhận được 'Gọi đến chức năng không xác định' các lỗi và 'Class Locale không tài trợ', tương ứng.

Tôi đã tìm thấy một đề cập ở đâu đó rằng tiện ích mở rộng php_intl cần được bật. Tôi đã làm điều này.

Tôi cũng đã xem Sổ tay địa phương (http://www.php.net/manual/en/class.locale.php), nhưng không đề cập đến việc cần bật bất cứ điều gì.

Tôi cần trải qua giai đoạn chuẩn bị nào để kích hoạt lớp học Locale?

Okie. Tôi thấy rằng tệp php_intl không tải. Tuy nhiên, nó có mặt trong thư mục php/ext và đường dẫn nó hiển thị trong nhật ký lỗi là chính xác.

Lưu ý: Tôi đang sử dụng WAMP.

Trả lời

2

Tìm thấy câu trả lời ở đây: http://forum.wampserver.com/read.php?2,80704,116793

Vì vậy, một trong những giải pháp là thêm "C: \ wamp \ bin \ php \ php5.3.9" (hoặc thư mục tương tự) để PATH hệ thống của bạn.

Giải pháp khác là sao chép các tập tin icu * .dll vào thư mục bin của apache.

Tùy chọn thứ ba là sao chép các tệp icu * .dll vào thư mục hệ thống Windows của bạn (system32 hoặc SysWOW64).

8

Trên Ubuntu Linux:

sudo apt-get install php5-intl 
service apache2 restart