Konfigurácia PHP servera
Ak si spomeniete na prvé kapitoly, kde sme si rozprávali o IDE a programe Sublime, tak sme sa v istom momente bavili o nejakých jeho nastaveniach. Aktuálne nastavenie tohto programu definovalo niekoľko súborov, v ktorých sme mohli tieto nastavenia editovať. Vo väčšine všetko okolo tohto, o čom sa tu bavíme, má svoje nastavenia, ktoré určujú správanie danej veci, či je to prehliadač, databáza MySQL, databázový server, lokálny server (Apache v MAMPe), program Sublime a aj PHP server.
Nejdeme sa teraz baviť o nastaveniach ostatných vecí, len si stručne povieme niečo o nastaveniach PHP servera. To, ako sa správa PHP server (čiže jeho nastavenia) je uložené v špeciálnom súbore s názvom php.ini (ini ako initialization file – zavádzací/štartovací/spúšťací súbor). Tento súbor sa nachádza v adresárovej štruktúre MAMPu v časti PHP, kde sa vlastne nachádza celý PHP server. Ak by ste používali na PHP server iný program a na inom prostredí (operačný systém), tak by mala adresárová štruktúra vyzerať rovnako. Samotný program môže mať iné súbory a adresáre, ale adresár PHP aj s týmto súborom by mal vyzerať rovnako. Okrem toho by tam mal byť aj takýto adresár pre MySQL (databáza) a Apache (web server).
Ak kliknete v okne programu MAMPu na open start page (otvorenie štartovacej stránky), tak hneď vľavo hore pod nadpisom PHP je odkaz phpinfo, po ktorom sa vám otvorí obsah súboru php.ini vypísaný funkciou phpinfo(). Toto všetko čo vidíte, sú nastavenia, ktoré sa dajú meniť a ovplyvňujú správanie sa kódu, resp. chodu programu a jeho zobrazovanie v prehliadači. Samozrejme, sú to všetko haky baky, ktoré vám asi nič nehovoria.
To ale nie je teraz dôležité, vo väčšine sa k týmto nastaveniam ani nedostane a ak áno, tak k veľmi málo z nich, tak pri bežnej práci na systéme maximálne s nejakými desiatimi a aj o tých si prečítate, keď to bude nutné na čo sú a ako ich nastaviť, takže no stress. Najdôležitejšie na tejto stránke pre vás je niekoľko vecí, napríklad verzia PHP, ktorá beží na danom serveri. Toto je dosť dôležité, pretože ako viete, aj PHP sa vyvíja, vylepšuje, mení a v novších verziách sú pridávané nové a nové veci a naopak niektoré sa rušia. Možno sa niekedy stretnete s nejakým príkazom alebo funkcionalitou (vymoženosťou) PHP, ktorá je ale dostupná, resp. funguje iba od danej verzie a na nejakom serveri vám nepôjde. V tom prípade musíte často riešiť ako prvú vec, akú verziu má server nastavenú. Takisto sa môžete stretnúť s niečím, čo vám naopak nepôjde, pretože to bolo v novších verziách zrušené.
Ďalej je dôležité umiestnenie tohto súboru, ktoré vidíte v prvej základnej tabuľke v časti Configuration File (php.ini) Path (cesta ku konfiguračnému súboru). Na tomto mieste je umiestnený daný súbor php.ini, ktorý určuje nastavenie. Tu by som upozornil, že niekedy je týchto súborov viac, ale iba jeden, ktorý dostanete vo výstupe z phpinfo(), je ten správny.
Ďalej je najmä dôležité vypisovanie errorov. Nachádza sa v časti Core pod názvom display_errors (zobrazuj errory). Neviem presne, ktorý z vás majú aké toto nastavenie, resp. mali počas preberania jednotlivých prednášok. Väčšina z vás to asi mala vypnuté a tak, keď ste mali niekedy chybu v kóde, tak ste videli iba bielu obrazovku alebo možno sem tam aj nejakú hlášku. Práve túto vlastnosť si skúsime teraz zapnúť, aby ste videli, čo to spraví. Ak to máte teraz teda vypnuté, nemali by ste vidieť žiadne errory ani upozornenia (notice).
Poďte na dané miesto na disku (path) a otvorte si súbor v nejakom textovom editore. Nájdite si túto vlastnosť (CTRL+F) a zmeňte ju na On. Uložte tento súbor po zmene a reštartnite server (v MAMPe stop servers a potom zase start servers). Ak si teraz načítate náš projekt, tak uvidíte hneď na začiatku niekoľko upozornení (notice), ako sa odvolávame na index v $_GET premennej, pretože neexistujú. Skúste si spraviť nejakú chybu naschvál, dajte preč bodkočiarku alebo niečo iba napíšte hockde do PHP a uvidíte, že vám to hodí chybu.
Toto nastavenie sa zvykne v praxi prepínať, resp. v praxi zvyknú byť dva rôzne konfiguračné súbory, kde prvý sa nazýva testovacia verzia (testing) a druhá produkčná (production). Prvá slúži počas práce – vývoji, čiže aby programátori videli upozornenia a chyby a tá druhá, tam sa zobrazovanie akýchkoľvek errorov vypína, aby náhodou zákazníkovi niečo nepekné nevyskočilo na obrazovku:)