2013-05-04 11 views
14

Chcę używać Moodle, ale pojawia się błąd podczas instalacji:Intl przedłużenie php_intl.dll z wamp

php_extension->intl->should be installed and enabled for best results.

Intl extension is used to improve internationalization support, such as locale aware sorting.

Po kliknięciu na link, pojawia się komunikat o błędzie powyżej: http://docs.moodle.org/24/en/admin/environment/php_extension/intl

Podążyłem za tym linkiem, ale wciąż mam ten sam błąd. Jeśli ktoś ma jakieś pomysły, proszę, pomóż mi.

+0

Prawdopodobny duplikat rozszerzenia [rozszerzenie intl: instalowanie php \ _intl.dll] (http://stackoverflow.com/questions/1451468/intl-extension-installing-php-intl-dll) – jww

Odpowiedz

51

Miałem ten sam problem kilka dni temu.

Trzeba skopiować wszystkie pliki (wszystkie pliki rozpoczyna icu*):

icudt.dll 
icudt46.dll 
icuin.dll 
icuin46.dll 
icuio.dll 
icuio46.dll 
icule.dll 
icule46.dll 
iculx.dll 
iculx46.dll 
icutest.dll 
icutest46.dll 
icutu.dll 
icutu46.dll 
icuuc.dll 
icuuc46.dll 

Od:

<wamp_installation_path>/bin/php/php5.4.3/ 

Do:

<wamp_installation_path>/bin/apache/apache2.2.22/bin/ 

I trzeba także umożliwić intl w pliku php.ini (odkomentuj tę linię):

;extension=php_intl.dll 

I zrestartuj serwer. Powinno działać dobrze.

Oczywiście należy zastąpić nazwy folderów własnymi.

+0

heyAthlan: -jeśli otrzymam te files.i szukaj w C: \ wamp \ bin \ apache \ Apache2.2.21 \ bin i C: \ wamp \ bin \ php \ php5.3.8 \ ext nie znaleziono takich plików. Nie ma plików typu ICU na tych kartach. –

+1

Jak już wspomniałem, możesz je znaleźć bezpośrednio na: '<ścieżka_instalacji_ampampa >/bin/php/php5.4.3/'(nie podkatalog" ext "). Sprawdziłem to dla Ciebie w WAMP 2.2. – Athlan

+1

Używając Wampa, mogę znaleźć tylko pliki 'icu * 46.dll', nie znaleziono żadnych niewersjonowanych plików. Jakieś pomysły? –

3

Ostatnio nowsze wersje PHP 5.5 wydaniach mieć php_intl.dll również łączenie (ładowanie) MSVCP110.dll, oprócz bardziej powszechne MSVCR110.dll (oba są DLL C/C++ Runtime, które dostarczają typowych funkcji).

Wcześniej wystarczy umieścić plik MSVCR110.dll gdzieś w katalogu PATH zamiast instalować pełny zestaw redystrybucyjnych bibliotek DLL VC++ 2012, a wszystkie rozszerzenia Apache + PHP + PHP, takie jak php_intl.dll.

Jeśli PHP daje Ci ten błąd:

PHP Startup: Unable to load dynamic library C:/wamp/php/ext/php_intl.dll – The specified module could not be found.

Są dwie rzeczy trzeba zrobić:

  1. Zamiast kopiować różne OIOM pliki * .dll z folderu PHP w Apache Folder bin, po prostu dołącz katalog PHP do zmiennej PATH systemu.

  2. Zainstaluj pełny pakiet redystrybucyjny Microsoft VC++ 2012 Runtime. Upewnij się, że otrzymałeś 32-bitową wersję dla 32-bitowych wersji PHP.

Zobacz więcej na ten temat tutaj - Unable to load or find PHP extension php_intl.dll

-1

Skopiuj icu* pliki <wamp_installation_path>/bin/apache/apachexxxxx/bin/

ten pracował dla mnie.

+0

To jest to samo, co [ta istniejąca odpowiedź] (http://stackoverflow.com/a/16372984/1402846). – Pang