Podešavanje LAMP razvojnog okruženja

Jedno od najpopularnijih i najkorišćenijih razvojnih okruženja za PHP jeste LAMP - Linux, Apache, MySQL, PHP. Imati u "lokalu" jedno takvo okruženje ima nekoliko prednosti, pre svega, razvoj u lokalu je mnogo brži, kao i može da se namesti da lokalno razvojno okruženje bude približno identično produkcionom serveru, što smanjuje mogućnost grešaka jednom kada se projekat prebaci na produkcioni server. Kako bi olakšali i približili krajnjim korisnicima, tj. programerima, podešavanje ovakvog jednog razvojnog okruženja, na Flingbits portalu je objavljen članak kako podesiti LAMP razvojno okruženje.

U članku je opisano instaliranje Ubuntu operativnog sistema (kako bi proces bio što lakši, instaliranje se vrši na "čist" računar), instalacija Apache web servera, PHP programskog jezika i MySQL servera za baze podataka. Nadalje, objašnjeno je kako da se izvrši neka osnovna konfiguracija Apache-a i kako pokrenuti prvi lokalni web site.

Top 10 MySQL grešaka koje prave PHP programeri

Na SitePoint blogu postavljen je članak sa top 10 MySQL grešaka koje prave PHP programeri. Među greškama koje autor izdvaja jesu nefilterisanje korisničkog unosa, nekoriščenje UTF-8 karakter seta, korišćenje pogrešnih tipova podataka i druge. Kod svake greške, autor daje i kratko objašnjenje šta je potrebno uraditi da bi se greške izbegle.

Posebno bih izdvojio da autor smatra korišćenje MyISAM engine-a kao grešku i da bi u svim prilikama trebalo koristit InnoDB engine. Kao razlog navodi da MyISAM zaključava celu tabelu prilikom unosa/izmene zapisa i da ne podržava transakcije. Iako je ovaj deo istina, ipak sa ovom "greškom" se ne bih složio, jer, koliko sam upućen, MyISAM podržava full text indeksiranje, dok InnoDB ne podržava. Svaki engine ima svojih prednosti i mana i prilikom projektovanja baze, treba uzeti u obzir zahteve i na osnovu tih zahteva odabrati engine.

Razlika između MySQL i PHP timestampa

Anton Oliinyk je na svom blogu objavio jednu zanimljivu činjenicu (za koju ja iskreno prvi put čujem) - razlika između timestampa u MySQL-u i PHP-u je 24 sekunde! Kako navodi, ovo je zbog činjenice da jedan dan nije tačno 24 sata i da MySQL vodi računa o ovoj razlici, dok PHP tu razliku odbacuje i zaokružuje dan na 24 sata.

Kao moguće rešenje je naveo da isključimo u MySQL-u ovo praćenje razlike, što može biti problem ako promenimo MySQL server ili da koristimo samo PHP ili samo MySQL funkcije prilikom čitanja/upisa datuma i vremena u bazu.

1