Adam Kucza

Nie uważałeś jak robiłeś, to teraz rób jak uważasz...

blogger czy logger?

  • Kalendarzyk

    maj 2008
    P W Ś C P S N
    « października    
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
  • Licznik

    • 3 aktualnie online
    • 84580 wszystkich odwiedziń

Archiwum: 'Internet' Kategorie

ciekawostki internetowe

Jak oswoić ZendOptimizer i ionCube?

Autor: Adam Kucza o 1. luty 2007

Miałem wczoraj możliwość ustawienia ciekawego rozwiązania hashowania skryptów PHP - ionCube oraz ZendOptimizer .
Istotą sprawy było to, że wszystko miałem zainstalowane i dobrze ustawione w pliku php.ini z taką małą różnicą, że phpinfo(); jednak nie pokazywało odpowiednich informacji o tych ustawieniach, co - de facto - również nie działało.

Cóż więc jest nie tak?

Przejrzałem google w wzdłuż i wszerz i niestety nie znalazłem odpowiedzi na to pytanie. Znalazłem natomiast mnóstwo opisów dotyczących prawidłowej konfiguracji tzw. loaderów w pliku ustawień samego deskryptora PHP.

Przejrzałem jeszcze raz konfiguracje i manuale. Okazało się, że PHP nie może być skompilowane z opcją

–enable-debug

wpp. loadery nie ładują się.

Wobec tego ponownie skompilowałem PHP 5.2.0 na freeBSD 6.1 przy czym tym razem nie zaznaczałem opcji debug. Oczywiście należało również pwtórnie skompilować wszystkie używane moduły, gdyż te wcześniejsze były jakby przygotowane dla wspomnianego parametru debug.

Wynik tej akcji zobaczyłem w phpinfo():

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
with the ionCube PHP Loader v3.1.24, Copyright (c) 2002-2006, by ionCube Ltd., and
with Zend Optimizer v3.2.2, Copyright (c) 1998-2006, by Zend Technologies
with Zend Extension Manager v1.2.0, Copyright (c) 2003-2006, by Zend Technologies

» wpis obejrzano 5817 razy przez 1115 internautów «

Napisany w Internet, PHP, ionCube, Zend | Brak komentarzy »

SugarCRM i problem DateTime w PHP 5.2.0

Autor: Adam Kucza o 30. styczeń 2007

Chcemy być „Up To Date”. Robimy aktualizację paczek na serwerach linux/unix. Okazuje się, iż najnowsza wersja PHP 5.2.0 posiada zmienioną nieco obsługę klasy DateTime, co idzie w parze pojawiającym się błędem np. w aplikacji Open Source Sugar CRM.

Fatal error: Cannot redeclare class DateTime in /home/www/sugarcrm/modules/Calendar/DateTime.php on line 29

Na szczęście na forum SugarCRM pojawiła się łatka o nazwie os_datetimefix.zip, umożliwiająca prawidłową obsługę tej klasy i jej podobnych wykorzystywanych w aplikacji.
Wystarczy ją rozpakować i odpowiednie pliki nadpisać w podkatalogach katalogu /modules/.
Nie zapomnijcie o kopii zapasowej plików oryginalnych!

Link do forum: http://www.sugarcrm.com/forums/showthread.php?t=16477&highlight=php+5.2.0+RC4+error

Powodzenia!

» wpis obejrzano 4591 razy przez 1074 internautów «

Napisany w Internet, SugarCRM | Brak komentarzy »

Kody Apache’a

Autor: Adam Kucza o 16. styczeń 2007

Ostatnio miałem problem ze prawidłową obsługa ErrorDocument, tj. zapisaniem w logu serwera httpd wpisu o kodzie 404.
Gdy mamy np. błędną stronę typu /index.php?page=NieMaTakiejStrony i wiemy, że faktycznie takiej strony nie ma, to samo ustawienie w httpd.conf:

ErrorDocument 404 /index.php?page=404

powodowało, że wyświetlała mi się przygotowana wcześniej w CMSie strona z treścią informacyjną o nieznalezieniu strony, natomiast w logach apache’a widziałem wpis typu:

/index.php?page=404 200 OK

Problem polegał na tym, że widząc informację o błędzie, w logu serwera www zapisywała się informacja, że nie był to błąd.
Musiałem zastosować małą sztuczkę. W httpd.conf ustawiłem:

ErrorDocument 404 /404.php

Czyli plik inny aniżeli jeden spośród stron dynamicznych ładowanych z contentu. Jego źródło wygląda następująco (tylko 2 linijki):

header(”HTTP/1.0 404 Not Found”);
echo file_get_contents(”/index.php?page=404″);

Czyli najpierw wysyłam do serwera www nagłówek z kodem 404 Not Found, a następnie wyświetlam treść strony, do której poprzednio prowadziła użytownika aplikacja CMS.
Dzięki tej sztuczce w logach apache’a mamy wpis

/index.php?page=NieMaTakiejStrony 404 -

Czyli użytkownik widzi informację o nieznalezieniu strony, a w logach apache’a zapisuje się info o błędzie strony.

Po takim tricku jesteśmy szczęśliwi.

Poniżej zamieszczam listę kodów błędów - napewno komuś się przyda.

Successful Client Requests
200 - OK
201 - Created
202 - Accepted
203 - Non-Authorative Information
204 - No Content
205 - Reset Content
206 - Partial Content

Client Request Redirected
300 - Multiple Choices
301 - Moved Permanently
302 - Moved Temporarily
303 - See Other
304 - Not Modified
305 - Use Proxy

Client Request Errors
400 - Bad Request
401 - Authorization Required
402 - Payment Required (not used yet)
403 - Forbidden
404 - Not Found
405 - Method Not Allowed
406 - Not Acceptable (encoding)
407 - Proxy Authentication Required
408 - Request Timed Out
409 - Conflicting Request
410 - Gone
411 - Content Length Required
412 - Precondition Failed
413 - Request Entity Too Long
414 - Request URI Too Long
415 - Unsupported Media Type

Server Errors
500 - Internal Server Error
501 - Not Implemented
502 - Bad Gateway
503 - Service Unavailable
504 - Gateway Timeout
505 - HTTP Version Not Supported

Czasami się przydaje.

» wpis obejrzano 4706 razy przez 1221 internautów «

Napisany w Internet, Apache | Brak komentarzy »