Autor wpisu: Śpiechu, dodany: 22.04.2011 08:56, tagi: mysql, php
Dzisiaj szybki wpis dotyczący wyłącznie użytkowników Ubuntu. Nie wkurza Was, że wiecznie musimy używać starej wersji PHP? Natty Narwhal oferuje wersję 5.3.2 (wydana 4.03.2010), a Maverick Meerkat zdaje się 5.3.3 (22.07.2010). Widać nie tylko mnie to denerwowało, dlatego powstało prywatne repozytorium PPA, za pomocą którego PHP ładnie zaktualizuje się do wersji 5.3.6.
Wystarczy w Synapticu dodać źródło
ppa:bjori/php5
Z ważnych rzeczy autor repozytorium dodał lepszy sterownik do bazy Mysql: Mysql Native Driver mysqlnd zamiast libmysql. To w ogóle ciekawe jest jakim cudem w oficjalnych repozytoriach mysqlnd nie został wkompilowany (podobno dostępny w oficjalnych źródłach PHP począwszy od wersji 5.3). Więcej na temat mysqlnd w manualu PHP.
W środowiskach produkcyjnych oczywiście przestrzegam przed takimi repozytoriami. Za to podczas developmentu jak znalazł.
P.S.: Czy ktoś oprócz mnie zauważył, że cichaczem dodali do SplFileInfo
metodę getExtension()
do 5.3.6?
P.S.2: Zanim weźmie Was cholera z okazji tego, że PDO nie chce łaczyć się z bazą danych po aktualizacji PHP, zalecam zamienić localhost na 127.0.0.1. Szkoda nerwów na święta
Autor wpisu: Aiv, dodany: 20.04.2011 23:00, tagi: php
Autor wpisu: singles, dodany: 20.04.2011 12:15, tagi: javascript, php
Krótko. Jetbrains zrobiło świąteczną niespodziankę i oferuje kilka swoich produktów po naprawdę dobrych cenach – spójrzcie tylko. Obniżka tyczy się licencji prywatnych. Jest to taki typ licencji, na który nie dostaniecie faktury, i który jest przypisany do Was. Ale można ją instalować na dowolnej liczbie maszyn (byle w jednym momencie chodziła tylko jedna kopia) i używać do projektów komercyjnych. Dla potwierdzenia odpowiedź, jaką dostałem na swoje pytanie, kiedy kupowałem swoją licencję:
I work in a company, and using company’s notebook to develop. Can I use personal license on that machine, and when I change company use it there? From what I’ve read, license is ‘attached’ to me, not to machine, so theoretically it’s possible, but I ask for confirmation.
I odpowiedź:
Yes, you can install the software on as many machines as you like but you can use it only on one of them concurrently. Furthermore no company funds may be involved in the purchase at any time.
Jeśli czekaliście na okazję, aby tanio kupić PHPStorm (albo inny produkt z listy) – ta okazja właśnie nadeszła.
Nie, nie mam umowy z JetBrains. Po prostu uważam, że PHPStorm to najlepsze IDE do PHP jakie miałem w rękach ;)
Autor wpisu: Aiv, dodany: 19.04.2011 23:28, tagi: php
Autor wpisu: Tomasz Kowalczyk, dodany: 19.04.2011 23:24, tagi: symfony, framework, php
Autor wpisu: l3l0, dodany: 18.04.2011 23:26, tagi: php, symfony
Przygotowania: Przed instalacją oraz zabawą z Varnishem zapoznałem się najpierw z oficialną dokumentacją http://www.varnish-cache.org/docs/2.1/index.html oraz ze specyfikacją HTTP 1.1 (http://tools.ietf.org/html/rfc2616), gdyż Varnish cache w dużym stopniu polega na tym protokole, a odświeżyć informacje zawsze można. Obejrzałem też prezentacje o Varnishu z sflive2011 http://symfony.com/video/Paris2011/56. Naprawdę polecam te źródła wszystkim którzy są nowi w temacie.
Instalacja: Jako że jestem szczęśliwym posiadaczem Ubuntu z rodziny surykatek (Meerkat) instalacja była naprawdę skąplikowana czyli “sudo apt-get install varnish”. Zainstalowana została wersja (varnish-2.1.3 SVN)
Konfiguracja Po próbie odpalenia demona przez “sudo /etc/init.d/varnish start” dostałem:
* Not starting HTTP accelerator varnishd [ OK ]
Troche mnie to skołowało ponieważ dopiero co zainstalowałem, a już nie działa.;) Naszczęscie na pomoc przyszedł wujek Google przez co znalazłem tego posta
http://vladgh.com/blog/varnish-nginx-and-php-533-ubuntu-1010.
Okazało się że wystarczy zmienić “START=no” na “START=yes” w “/etc/default/varnish” i po wywołaniu “sudo /etc/init.d/varnish start” dostajemy
* Starting HTTP accelerator varnishd [ OK ]
od razu lepiej!
Konfiguracje ESI wziąłem z http://symfony.com/doc/2.0/cookbook/cache/varnish.html więc mój plik /etc/varnish/varnish.vcl wygląda tak
# This is a basic VCL configuration file for varnish. See the vcl(7) # man page for details on VCL syntax and semantics. # # Default backend definition. Set this to point to your content # server. # backend default { .host = "127.0.0.1"; .port = "80"; } sub vcl_recv { set req.http.Surrogate-Capability = "abc=ESI/1.0"; } sub vcl_fetch { if (beresp.http.Surrogate-Control ~ "ESI/1.0") { esi; } } sub vcl_hit { if (req.request == "PURGE") { set obj.ttl = 0s; error 200 "Purged"; } } sub vcl_miss { if (req.request == "PURGE") { error 404 "Not purged"; } }
Postanowiłem też zmienić domyślne ustawienia demona varnisha. Musiałem wyedytować plik “/etc/default/varnish” i zdefinować własne DEAMON_OPS które wygląda tak