Archive for the ‘Bez kategorii’ Category

Fatal error: Call to undefined method Zend_View_Helper_Placeholder_Container::ksort()

Saturday, November 7th, 2009

Fatal error: Call to undefined method Zend_View_Helper_Placeholder_Container::ksort() in /var/www/html3/library/zend/1.9.5/Zend/View/Helper/HeadMeta.php on line 333

Takie coś się pojawia przy wersji php 5.1.6. Najprostsze rozwiązanie to zrobić upgrade php do nowszej wersji i po bólu. Ale niestety nie wszędzie można to zrobić. Nie na każdy serwer mamy dostęp. Pozostaje wtedy tylko rozwiązanie prowizoryczne, autorem poniższego jest ktoś z forum zenda, na którym to znalazłem.

Aby się pozbyć powyższego błędu należy dodać do: Zend/View/Helper/Placeholder/Container/Abstract.php następującą metodę:
public function ksort()
{
$items = $this->getArrayCopy();
return ksort($items);
}
I znowu działa.

Instalacja Apache, mysql i php5 pod windows

Sunday, November 2nd, 2008

1. Instalacja apache.

Ten punkt jest dosyć prosty. Wystarczy pobrać źródło i klikać dalej. Ja używam apache 1.3.33 bo nigdy nie miałem z nim problemów w przeciwieństwie do wesrsji 2.

Jeśli nie chcemy aby pliki znajdowały się w stanadardowym miejscu htdocs, należy ustawić dwie zmienne w httpd.conf: DocumentRoot “” oraz <Directory “”>.

2. Instalacja php.

Pomocne linki:

http://pl.php.net/manual/en/install.windows.apache1.php

http://pl.php.net/manual/en/install.windows.manual.php

Żeby wogóle ruszyło wystarczy dodać do pliku konfiguracyjnego apache – httpd.conf 4 linijki:

Na końcu sekcji LoadModule:
LoadModule php5_module “C:/php/php5apache.dll”

Na końcu sekcji AddModule:

AddModule mod_php5.c
W środku sekcji <IfModule mod_mime.c> :
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Apache i php już hula.

Pliki konfiguracyjne i niektóre dll muszą być widoczne dla serwera. Brzydko i niepraktycznie jest wrzucić to do katalogu windows. Więc zostawiamy to gdzie jest i dodajemy scieżkę kataogu php do zmiennej środowiskowej PATH. Tak pisze w dokumentacji ale nigdy nie działa, więc wrzucam do katalogu Windows. Korzystamy z php.ini-recomended.

W pliku php.ini odhashowujemy linijkę: extension=php_mysql.dll i php_mysqli.dll ustawiamy również zmienną extension_dir na katalog C:/php/ext, domyślnie jest na ./ Ustawiamy display_errors On

Biblioteka powinna być już dostępna. Jeśli coś będzie nie tak ze ścieżkami zawsze można zajrzeć do logów apache, tam wszystko co zrobiliśmy źle znajdziemy.

Jeszcze włączam pare rzeczy w httpd.conf:

  • Mod rewrite: LoadModule rewrite_module modules/mod_rewrite.so i AddModule mod_rewrite.c
  • AllowOverride None – zmieniamy na AllowOverride All inaczej zmiany które wprowadzamy w htacces będą ignorowane przez apache.
  • Dodaję index.php do: DirectoryIndex index.html index.php
  • Żeby wszystko wygladalo tak jak na serwerze docelowym, zgadzały się scieżki, tworzę wirtualne hosty dla każdego projektu. Wtedy adres przez który odwołuję się do aplikacji wyglada tak: http://aplikacja.localhost zamiast http://localhost/aplikacja/. Ułatwia to pracę. Żeby módz z tego korzystać w httpd.conf dodajemy:
    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
    DocumentRoot “D:\htdocs\aplikacja”
    ServerName aplikacja.localhost
    </VirtualHost>
    a w pliku: C:\WINDOWS\system32\drivers\etc\hosts dodajemy linijkę: 127.0.0.1 aplikacja.localhost

3. Instalacja MySql.

Korzystamy ze standardowej kofiguracji. Ma działać tak żeby można było testować aplikacje. Ogranicza się to więc do podania hasła dla roota i klikaniu dalej.

Witam!

Thursday, August 7th, 2008

Często znajduję rozwiązanie jakiegoś problemu. Zastosowanie jest dosyć rzadkie i powtarza się raz na pół roku może rzadziej. Zdarza się więc, że sam zapominam jak rozwiązałem dany problem. I zaczynam wtedy jeszcze raz. Bez sensu. Dobrym pomysłem więc będzie zapisać to gdzieś sobie, tak żeby można było łatwo sięgnąć w odpowiednim czasie po rozwiązanie i po raz kolejny nie wywarzać drzwi. Tak więc będę sobie zapisywał na tym blogu wszystko co wymyśliłem lub nauczyłem się od kogoś lub z jakiegoś miejsca w sieci. Przy okazji może komuś się to przyda.