6
lip

WAMPServer, PHP: Problem z aktywacją rozszerzenia php_intl.

W przypadku wielu programów ich twórcy chwalą swoje produkty jako działające bezbłędnie, mimo nieustannych prób użytkownika skierowanych w stronę zakłócenia tego błogostanu. O ile zdecydowana część tychże spełnia wspomniane warunki, o tyle kosztem osiągnięcia takiego celu jest głównie poprawność działania wyłącznie w zakresie podstawowych funkcji. Jeśli użytkownik zechce zrobić coś bardziej zaawansowanego – wtedy zaczynają się schody. W dzisiejszym wpisie chciałbym omówić jeden taki problem związany ze stosem WAMP, jakiego sam używam, czyli WAMPServerem.

WAMPServer, PHP: Problem z aktywacją rozszerzenia php_intl.

Problem, na jaki dzisiaj natrafiłem jest krótki i prosty – zechciałem wykorzystać w jednym ze skryptów klasę Normalizer, która pozwala na „normalizację” stringów ze znakami spoza zbioru ASCII do ich bardziej czytelnej formy. Za obecność tejże w kodzie odpowiada rozszerzenie php_intl, które w systemie Windows znajduje się w pliku php_intl.dll.

Narzędzie konfiguracyjne WAMPServera, którego ikonkę możecie podziwiać w ikonce niniejszego wpisu pozwala na bezproblemowe włączanie i wyłączanie poszczególnych rozszerzeń poprzez prosty wybór i kliknięcie na danej pozycji. Wybrałem więc kolejno PHP > PHP Extensions > php_intl, serwer przestał na chwilę działać sygnalizując swój restart pomarańczową ikonką w pasku zadań, aczkolwiek po chwili powinien się załączyć i zaznaczyć to ponownym zielonym kolorem. Tak się nie stało, a ja zostałem zmuszony do rozwiązania kolejnego problemu [co oczywiście uczyniłem z nieskrywaną przyjemnością ;]].

Okazało się, że aby rozszerzenie php_intl zaczęło działać, w miejscu instalacji Apache muszą także znaleźć się biblioteki DLL odpowiedzialne za bibliotekę ICU – International Components for Unicode. W domyślnej instalacji WAMPServera znajdują się one jedynie w katalogu PHP,  a więc w moim przypadku:

%WAMP%/bin/php/php5.3.5

Aby rozwiązać problem, wystarczy skopiować wszystkie pliki DLL rozpoczynające się od fragmentu „icu”:

icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll

do katalogu /bin Apache, a więc znowu w moim przypadku

%WAMP%/bin/apache/apache2.2.17/bin

Numer wersji [fragment "36"] może się oczywiście różnić w Waszym przypadku, ale nie powinno być to utrudnieniem w wykonaniu zadania. ;] Przez makro %WAMP% rozumiem oczywiście ścieżkę instalacji samego WAMPa.

Dzisiejszy wpis znowu jest spóźniony, aczkolwiek niestety nie miałem możliwości usiąść do niego wcześniej – ilość obowiązków, jaka ostatnio spada na moje ramiona jest dosyć duża i w tej chwili jestem na etapie wypracowywania jakiegoś „sensownego konsensusu”. Zyx chyba dobrze mówił, że z tym Harmonogramem to będą same problemy. ;]

Warto przeczytać.

Trwa ładowanie…

Subscribe without commenting

© Copyright 2010-2013 Tomasz Kowalczyk. All rights reserved. Created by Dream-Theme — premium wordpress themes. Proudly powered by WordPress.