Tak sobie pomyślałem że może warto by o tym co nie co wspomnieć, bo jak już prowadzę tego bloga to niby dlaczego mam nie dodać wpisu o php co? hmmmm… No dobra najważniejsze rzeczy jakie chciałbym poruszyć w tym wpisie będą to, zmiana max wysyłanych danych postem, czas wykonywania skryptu, ile ramu przeznaczymy dla php, no i wszystko to czego tutaj jeszcze nie wymieniłem bo ja piszę z buta ;)

Lokalizacja php.ini
Ok zacznijmy, znajdźmy gdzie leży nasz plik php, należy wykonać to za pomocą polecenia:

locate php.ini

Powinno nam zwrócić coś podobnego do takiego wyniku:

[localhost][~] $ locate php.ini
/etc/php/php.ini
/etc/php/php.ini.pacnew
/home/cojack/Download/php-5.2.9/php.ini-dist
/home/cojack/Download/php-5.2.9/php.ini-recommended
/var/abs/community/devel/php-gtk/php.ini-template
/var/abs/extra/php/php.ini

Jeżeli nie zwraca nam wyniku spróbujmy zrobić tak:

updatedb
whereis php.ini

Jak to nie pomoże, to stawiam na to że nie masz php :D

Edycja php.ini
Do edycji pliku konfiguracyjnego, przynajmniej u mnie nie potrzebuje praw administratora, więc co kto lubi, używamy nano, vi/vim, gedit, kate, kwrite, emacs, na prawde kto co lubi.

short_open_tag
Dyrektywa za której pomocą sterujemy php czy możemy stosować krótki znaczniki otwarcie i zamknięcia bloku kodu, domyślnie jest ustawiona na off czyli nie wolno nam, i ja jestem za tym by tak zostało :) Zobaczcie że gdy użyjecie a w środku kod php, i otworzycie przeglądarkę na tej stronie, a ten plik niczego nie zwraca do przeglądarki to będzie z pozoru pusta czysta biała strona, a zaglądnijcie w źródło dokumentu :>

precision
Precyzja liczb po przecinku, 14 domyślnie, na co komu więcej? Kto wykonuje obliczenia matematyczne za pomocą php?

safe_mode
Tryb bezpieczny dla zabezpieczenia serwera, gdy są jakieś podejrzenia że pewien skrypt może narazić nas na psikusy z strony internatów, należy włączyć ten tryb, ale jak się pracuje na localu to kto nam co zrobi hmm?

open_basedir
Ta dyrektywa mówi natomiast php gdzie ma szukać plików poza katalogiem w którym aktualnie pracujemy, tak ja to rozumiem, przykład dlaczego tak to pojmuję? Wystarczy zobaczyć w jaki sposób includujemy system szablonów itx.

max_execution_time
Dyrektywa która odpowiada za pracę skryptu w sekundach, lepiej nie zmniejszać, chyba że się wie co chce się przez to uzyskać…

max_input_time
Odpowiada za czas w jaki może skrypt poświęcić na przetworzenie danych wysłanych na serwer.

memory_limit
Maksymalna liczba Mb ile może skrypt ugryźć nam z kości

Czasami jest tak że jesteśmy pewni że jest błąd, pusta strona nic a nic, a mimo wszystko php nie wypluwa nam błędu, wina jest w konfiguracji:

display_errors
Możliwe że jest domyślnie ustawiona na Off, należy zmienić na On, oraz podczas produkcji można ustawić na stałe

error_reporting
na E_ALL

register_globals
Najważniejsza dyrektywa, która powinna być ustawiona na Off zmniejsza ryzyko ataku na serwer, czy cokolwiek innego.

post_max_size
Dyrektywa odpowiedzialna za informację ile Mb możemy przesłać przez Post.

magic_quotes_gpc
Kolejna zbędna już przez nikogo nie wykorzystywana funkcja, Off miejmy nadzieję że od php 6 już jej nie będzie.

upload_max_filesize
W Mb ile możemy przesłać w jednym pliku danych, tzn jak ciężki może on być, domyślnie 2Mb.

I na samym dole pliku powinniśmy mieć kilkanaście linijek z prefixem extension, te które są nam potrzebne odhaszować, czyli usunąć znak średnika ; z przodu linijki, zapisać, zresetować apache i powinno wszystko działać :)