Autor grzesko
Często istnieje potrzeba zmiany niektórych parametrów konfiguracyjnych PHP – ale tylko w obrębie części witryny. Jak to zrobić, jak sprawdzić?
Ogromną większość parametrów PHP można ustawic w pliku konfiguracyjnym PHP – php.ini. W zależności od systemu operacyjnego – może być w różnych miejscach.
W systemach Windows bywa najczęściej w \WiNDOWS lub \WINNT. W linuksowych może być np. w /etc/…
Ważne – plik php.ini zawiera ustawienia dyrektyw globalnych – dotyczących całego serwera WWW, którego modułem jest php.
Aby sprawdzić ustawienia PHP – wystarczy wykonać polecenie
phpinfo()
a jeszcze lepiej stworzyć sobie plik, który będziemy uruchamiać w przeglądarce – np. test.php o zawartości:
<?php phpinfo(); ?>
Uruchomienie go w przeglądarce pokaże dużo opcji konfiguracyjnych – początek to opcje kompilacji, które wiele mówią o możliwościach PHP, a dalej mamy tabelę o dwóch głównych kolumnach:
– Master Value – globalne parametry
– Local Value – parametry lokalne, dotyczące katalogu, w którym uruchamiamy polecenie phpinfo.
Master Value – zmieniamy w php.ini, a Local?
Otóż istnieje możliwość zmiany niektórych parametrów bezpośrednio w skrypcie, ale moim zdaniem ciekawszą metodą jest wykorzystanie plików zmiany lokalnej konfiguracji serwera WWW – opiszę na przykładzie Apache.
W standardowej konfiguracji Apache możliwość ta jest najczęściej wyłączona. Nie zagłębiając się w szczegóły dobre na oddzielny artykuł – chodzi o dyrektywę konfiguracyjną AllowOverride – w odniesieniu do naszego katalogu stron WWW.
Jej odpowiednie wywołanie – powoduje, że serwer Apache sprawdza, czy w danym katalogu jest plik lokalnej konfiguracji – .htaccess (oczywiście nazwa może być inna – ale jest to najczęściej stosowany standard).
Jeśli zostanie znaleziony i dyrektywa AllowOverride na to zezwala – parametry Apache zostaną zmienione wg pliku .htaccess – w katalogu bieżącym i w dół struktury katalogów.
W ten sposób jest często realizowane ograniczanie dostępu użytkowników do pewnych katalogów.
Plik .htaccess można również doskonale wykorzystać do lokalnej zmiany parametrów PHP w obrębie danej witryny lub jej części.
Wielką zaletą tych plików jest to, że zmiany w nich zawarte są brane pod uwagę bez restartu serwera WWW!
Prześledźmy to na przykładzie parametru max_execution_time – maksymalny czas wykonywania skryptu. Standardowo ustawiony jest na 30 sekund. Zmieńmy na 75 sekund.
Aby zmienić ustawienie globalne dla całości serwera WWW – wystarczy w pliku php.ini zmodyfikować linię:
max_execution_time = 30
na taką:
max_execution_time = 75
i zrestartować serwer WWW.
Aby zmienić ustawienie lokalnie w bieżącym katalogu i jego podkatalogach – wystarczy w pliku .htaccess umieścić linię:
php_value max_execution_time 75
i to wszystko.
Można też zmienić to w jednym konkretnym skrypcie – tak:
<?php set_time_limit(75); (...) ?>
Można wybrać w zależności od potrzeb i oczywiście możliwości jakie da nam administrator serwera WWW.
Jeszcze tylko słowo jak zmienić w .htaccess parametry nie dotyczący zmian wartości – jak powyżej – ale zmian stanu (on/off) – wystarczy wpisać:
php_flag magic_quotes_gpc Off
(przykład dla opcji MagicQuotes GPC).
Autor grzesko
Administratorem Twoich danych osobowych będzie Rafał Płatek, prowadzący działalność gospodarczą pod firmą CREAM.SOFTWARE RAFAŁ PŁATEK, wpisaną do rejestru ewidencji gospodarczej CEiDG pod numerem NIP 681-112-89-55. Szczegóły związane z przetwarzaniem danych osobowych znajdziesz w polityce prywatności.