Diegiame PHP 5.2.x – 5.5.x versijas

Taigi, nespėjame apšilti kojų su PHP 5.4 versija, o jau php.net galima pamatyti 5.5.0 alpha versijas. Žinoma visada knieti sužinoti, o kaip gi mūsų rašomos programos veiks su naujausia PHP versija. Tiesiog viską griauti ir keliauti prie naujos versijos gali ne kiekvienas. Turime senų projektų kurie netgi neveikia su PHP 5.3, arba gali veikti, tik jie apleisti ir laiko skirti atnaujinimams nebėra tikslo. Vienintelė išeitis – paleisti kelias versijas viename serveryje. Žinoma visas čia paminėtas versijas diegtis production serveryje – būtų tikrai neprotinga, bet va development serveryje jas turėti tikrai verta. Galų gale sudaromos sąlygos su tuo serveriu dirbantiems programuotojams išsibandyti naujas funkcijas ir patobulinimus. Iš karto perspėsiu, kad mano siūlomas variantas naudoja NGinx web serverį ir PHP-FPM (išskyrus 5.2.x), tad kaip tai padaryti su daugelio naudojamu Apache web serveriu – net neįsivaizduoju, žinantys kaip NGinx šioje situacijoje pakeisti į Apache – laukiami komentaruose. Be jokios abejonės – norint turėti kelias skirtingas PHP versijas viename serveryje – teks kompiliuoti rankomis. Jei to nesate anksčiau darę – bus puiki proga žengti žingsnį pirmyn.

Skaityti visą >>

CodeIgniter + Uploadify + Session

Straipsnis skirtas tiems kas naudoja CodeIgniter karkasą ir Uploadify failų įkėlimo programėlę. Kaip žinia Uploadify naudoja Flash, o Flash neperduoda cookies (sausainių) į serverį, jį naujai sukuria pats Flash. Taigi jūs negalite naudoti duomenų jau su esama sesija failų įkėlimo scripte.

Straipsnis nebus aprašytas kaip viskas veikia, kodėl Flash neperduoda esamos sesijos o susikuria savo sesiją, ar, kodėl naudojamas būtent Flash norint įkelti daug failų vienu metu. Straipsnis skirtas paprastai ir aiškiai paaiškinti su pavyzdžiai kaip įkelti failus ir kaip padaryti kad būtų naudojama ta pati sesija kurią jau sukūrė CodeIgniter.

Skaityti visą >>

Maža dvikova PHP 5.3 vs PHP 5.4

Negalėjau neišbandyti. Taigi serveris: Amazon small instance 1.7 GB memory, 1 EC2 Compute Unit. OS ubuntu 11.10 64bit. Į vieną serverį instaliavau Zend Server Comunity Edition PHP 5.3, į kitą Zend Server Comunity Edition PHP 5.4 (technology preview). Instaliavau magento parduotuvę ver 1.6.2.0 ir sample data ver 1.6.1.0 jokių optimizacijų nedariau, tiesiog švari instaliacija pagal numatytuosius nustatymus. Ant abiejų serverių paleidau anksčiau aprašytą įrankį LoadImpact.com testų konfigūracija: 80 SBU vartotojų per 5 min, scenarijus automatiškai sugeneruotas.

Skaityti visą >>

5 PHP klasės kurios pravers kiekvienam

PHP Projektai

PHP Projektai

Kaip PHP programuotojas jūs turėtumėte žinoti kad dauguma projektų ar klasių yra Atvirojo kodo ir yra kuruojamos daugumos savanorių.

Tokiu būdų projektai tampa geresni, saugesni, populiaresni ir našesni nei komerciniai.

Šiandien išvardinsiu kelias paprastesnias PHP klases kurios padės jums sutaupyti laiko, bei tuo pačiu palengvins jūsų darbą ir nereikės išradinėti dviračio.

Skaityti visą >>

5 PHP patarimai kaip geriau rašyti kodą

phpVisi kurie bando išmokti ar tie kurie jau programuoja su PHP ne pirmą dieną manau kartas nuo karto padaro klaidingų ar tiesiog kvailų klaidų rašydami kodą.

Šiame straipsnyje aptarsime 5 mano manymų labiausiai daromas klaidas, o kai kuriems gal tiesiog bus papildomos žinios kaip geriau parašyti kodą ir kodėl rašoma taip, o ne kitaip.

Taigi netemdami į naktį pradėkime.

Skaityti visą >>

Aplikacijų monitoringas: xhprof


Taigi, tęsiame mūsų paieškas aplikacijų monitoringe. Facebook vyrai sugalvojo analogą XDEBUG skirtą būtent production sistemoms – xhprof. Pačio PHP išplėtimo (extension) diegimas nėra sudėtingas, nes galime naudoti pecl repositoriją, kompiliuosite rankomis ar ne – Jūsų pasirinkimas. Nurodžius išplėtimą php.ini faile ir perkrovę PHP procesus iš karto pradedame rinkti informaciją. Yra keletas programėlių kuriomis galime peržiūrėti surinktus duomenis, visai kaip su XDEBUG. Žinoma mūsų tai netenkina, todėl ieškome kaip viską atvaizduoti online. Čia ir prasideda sunkioji dalis.

Skaityti visą >>

Aplikacijų monitoringas: newrelic

Visi kas turi/prižiūri savo production serverius aišku stebi serverio apkrovimus, laisvos atminties kiekius, SQL užklausų kiekį ir panašius parametrus. Tačiau pridėkite ranką prie širdies ir pasakykite: ar žinote ką daro jūsų aplikacija tame production serveryje? Ar neįvyksta kokios problemos esant tam tikroms sąlygoms? Manau teigiamai atsakytų nedaugelis. Nesenai išbandžiau Zend Server sistemą ir man patiko, kad galiu sužinoti apie kilusias problemas vienoje ar kitoje vietoje, bet ši sistema turi minusų: nemaža kaina, naudojamas Apache web serveris (mat dabar naudoju Nginx + PHP-FPM). Tie minusai privertė paieškoti alternatyvų. Taigi ir pradedu straipsnių ciklą apie aplikacijų monitoringą. Ciklas bus baigtas kai rasime tai ko ieškome arba kai užges viltis 🙂

Skaityti visą >>

Ajax aplikacijos su Zend_Json_Server

Kas yra AJAX ir kam jis naudojamas – šiame straipsnyje plačiau neaptarinėsime. Verta tik paminėti, kad norėdami savo programas optimizuoti – turite turinį krauti asinchroniškai ir vengti pilno puslapio perkrovimo (aišku jei tai įmanoma). Nesenai aptikau vieną įdomų sprendimą Zend Framework naudojančioms sistemoms.

Skaityti visą >>

PHP klaidų pranešimai

PHP Klaidų pranešimai

PHP Klaidų pranešimai


Vienas iš PHP privalumų yra visapusiškas klaidų valdymas. Jūs galite nurodyti kokias klaidas vykdyti, jas išvesti ir kurias ne. Šiame straipsnyje bus aprašomos pagrindiniai PHP klaidų pranešimai, jų valdymai ir panaudojimas.

PHP Klaidų tipai

Yra įvairiausių klaidų tipų kurie gali būti užfiksuojami PHP kalboje. Kai kurios klaidos gali būti praleidžiamos ir ignoruojamos, o kai kurios klaidos sustabdo skripto vykdymą.

Skaityti visą >>

Ajax rėksnių dėžė (ShoutBox)

Rėksnių dėžė

Rėksnių dėžė

Šis straipsnis skirtas norintiems išmokti sukurti paprastą rėksnių dėžę panaudojant Ajax.
Šiuo atveju mes nenaudosime jokios JavaScript bibliotekos, o tiesiog kursime viską savo ir Ajax užklausas bei metodus apsirašysime patys. Kadangi kaip žinia Ajax nereikalingi jokie papildomi HTML elementai kaip pavyzdžiui <iframe>, o visas Ajax pagalba gautas turinys įkeliamas vos ne tą pačią sekundę į nurodytą vietą.

Skaityti visą >>