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…
podobnie zresztą jest w przypadku wielu innych modułów php czy samego już nawet apache. jak chociażby APC którego do tej pory nie udało mi się uruchomić ;) dobrze że apache nie startuje wyświetlając pomarańczową ikonkę a nie jak w przypadku innych serwerów że najzwyczajniej coś się wysypuje i tych problemów jest znacznie więcej do ogarnięcia.. Nie mniej, jest to najstabilniejszy pakiet wamp jaki miałem okazje testować..
Niewiele jest gotowych, w miarę popularnych pakietów WAMP, ja tak na szybko kojarzę zaledwie WAMPServer, Krasnala i XAMPPa. Aczkolwiek masz rację – bardzo wygodnie korzysta się z niego, nawet wsparcie na forum jest całkiem niezłe, znalazłem na nim sporo informacji nt. moich problemów.
Co do APC – na localhoście nie korzystam z akceleratorów, aczkolwiek zobaczę, co to za problem i może uda mi się coś skrobnąć na ten temat.
WAMPServer, PHP: Problem z aktywacją rozszerzenia php_intl.
Dla bardziej nieorganicznych jest jeszcze rozwiązanie instalowania wszystkiego oddzielnie i dostosowywanie POD SIEBIE. Problem się pojawia, gdy to co widać na ekranie nie jest zgodne z tym co opisują tutoriale a wszelkie komponenty *AMP nijak się wzajemnie nie odnajdują. I oczywiście, szkoda na to wszystko czasu :)
Arduino Uno – kolejny kawałek krzemu w domu
Już dawno temu porzuciłem pogląd, że wszystko muszę mieć zainstalowane po swojemu. Zdecydowanie „to ma działać”, a nie zmuszać mnie do siedzenia nad konfiguracją, kiedy mam inną pracę do wykonania. ;]
WAMPServer, PHP: Problem z aktywacją rozszerzenia php_intl.
It is a good thing I haven’t encountered any problem with activation php_intl extension. Perhaps I should rely on people who knew this computer codes better than I am. Thanks for sharing your solutions for this problem.
Infographic : gagner de l’argent sur internet
@Daniel: What WAMP stack did you use? Maybe it already had ICU libraries in both places – there’s no problem then. ;]
PHP: Sprawdzanie rozdzielczości pliku graficznego.
Pod Windows używałem WebServera, ale prawda jest taka, że gdy czasem przyszło zrobić coś dziwnego to ograniczeniem był nie tyle pakiet WAMP tylko po prostu system ;) Po przesiadce na Linuksa chcąc zaoszczędzić trochę czasu zainwestowałem w XAMPPa – okazało się to bolesne gdy przyszło mi używać ZendFramework, ale na szczęście przygoda z tym frameworkiem trwała do momentu oddania projektu zaliczeniowego z przedmiotu „aplikacje internetowe” ;)
Relacja z Falsy Values okiem programisty PHP
Mi jakoś specjalnie Windows nie przeszkadza, większość rzeczy da się zrobić minimalnie większym nakładem pracy, ale jest to dla mnie akceptowalne. Jak instalowałem PEARa to był dopiero cyrk – dwa dni męczyłem się z tym, żeby to ogarnąć, ale już wiem, czego wtedy nie zrobiłem, więc może kiedyś skrobnę jakiś tutorial. ;]
Linkdump #49: Symfonia symfony 1.x / Symfony2.
dzieki za pomoc