PHP – instalacja i konfiguracja (najważniejsze opcje konfiguracyjne) (Marek Downar)
description
Transcript of PHP – instalacja i konfiguracja (najważniejsze opcje konfiguracyjne) (Marek Downar)
PHP – instalacja i konfiguracja
(najważniejsze opcje konfiguracyjne)
(Marek Downar)
PHP - przypomnienie
Skrypty wywoływane z linii poleceń
Aplikacje po stronie klienta
Skrypty po stronie serwera
Integracja z serwerem poprzez: SAPI dla:
Apache, Microsoft Internet Information Server, Netscape i iPlanet
ISAPI – interfejs modułów Microsoft Można używać go jako CGI lub FastCGI
Architektura PHP
Instalacja PHP5 dla Apache2
Instalacja silnika PHP,
załadowanie modułu php5_module do serwera LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
wskazanie formatu plików php
AddType application/x-httpd-php .php
dodanie pliku index.php serwowanego domyślnie przy wyświetlaniu zawartości katalogu
DirectoryIndex index.php index.html
Instalacja dodatkowych modułów
Podczas instalacji w systemie Windows wybranie dodatkowych modułów z listy Extensions, w systemie Linux instalacja przy pomocy menadżera pakietów
Po instalacji modułu należy upewnić się, czy do pliku php.ini została dodana deklaracja nowego rozszerzenia (w przypadku Linux w folderze /etc/php5/apache2/conf.d/ w pliku o nazwie modułu z rozszerzeniem *.ini)extension=nazwa_modułu.so
Możliwa konfiguracja PHP
Apache: <IfModule mod_php5.c>
php_value default_mimetype ”text/css” php_admin_flag safe_mode on
</IfModule>
Rejestr systemowy Windows HKLM\SOFTWARE\PHP\Per Directory Values\
sciezka_do_katalogu
ini_set(), ini_get(), phpinfo(), get_cfg_var()
php.ini
Poziomy konfiguracji PHP
PHP_INI_USER – ini_set(), rejestr
PHP_INI_PERDIR php.ini httpd.conf .htaccess
PHP_INI_SYSTEM php.ini, httpd.conf
PHP_INI_ALL wszędzie
Konfiguracja PHP (apache)
Także na poziomie plików konfiguracyjnych serwera Apache - httpd.conf (.htaccess) – Options AllowOverride lub AllowOverride All
php_value name value (ALL,PERDIR)
php_flag name on|off (ALL,PERDIR)
php_admin_value name value
php_admin_flag name on|off
Poszukiwania php.ini
SAPI
PHPRC
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z – IniFilePath
HKEY_LOCAL_MACHINE\SOFTWARE\PHP - IniFilePath
Bieżący katalog
Katalg serwera, bądź php
Katalog systemu windows
Konfiguracja PHP – php.ini
short_open_tag – dyrektywa określająca dopuszczalność skróconej formy <? zamiast <?php (skrócony tag jednak nie jest zalecany z uwagi na niezgodność ze standardem XML) (<?= zamiast <?php echo)
default_charset – domyślne kodowanie, w którym generowana jest strona (nagłówek Content-type)
default_mimetype – domyślny format przesyłanych danych
precision – liczba miejsc po przecinku dla zmiennych typu float
Konfiguracja PHP – php.ini
expose_php – ujawnienie czy na serwerze wykorzystywane jest php poprzez dołączenie do nagłówka serwera sygnatury php
disable_functions – blokuje użycie podanych funkcji – stosowane ze względów bezpieczeństwa
disable_classes – blokuje użycie podanych klas – stosowane ze względów bezpieczeństwa
memory_limit – maksymalna ilość bajtów, jaką może zaalokować skrypt w czasie wykonywania (zabezpieczenie przez wykorzystaniem wszystkich zasobów komputera przez słabo napisany skrypt, bądź przez skrypt złośliwy)
max_execution_time – maksymalna ilość sekund przeznaczona na wykonywanie skryptu
max_input_time – maksymalna ilość sekund przeznaczona do parsowania danych wejściowych (plików, POST, GET)
post_max_size – dozwolony maksymalny rozmiar danych przesyłanych z pomocą żądania POST (>upload_max_filesize <memory_limit)
Konfiguracja PHP – php.ini
auto_prepend_file – automatyczne dołączanie i wykonywanie skryptu przed wołanym skryptem (działanie jak funkcja require() dołączona na początku wykonywanego skryptu)
auto_append_file – automatyczne dołączanie i wykonywanie skryptu po wykonaniu wołanego skryptu (działanie jak funkcja require() dołączona na koniec wykonywanego skryptu)
Konfiguracja PHP – php.ini (ścieżki i katalogi)
include_path – lista ścieżek, gdzie poszukiwane są skrypty dołączane przy pomocy funkcji, takich jak require(), include(), fopen(),
open_basedir – ograniczenie dla skryptów PHP dostępu do plików do podanych katalogów,
extension_dir – wskazanie silnikowi PHP katalogu, w którym mieszczą się dynamiczne dołączane rozszerzenia,
Konfiguracja PHP – php.ini (pliki wysyłane na serwer)
file_uploads – czy dopuszczalne jest odbieranie plików,
upload_tmp_dir – tymczasowy katalog wykorzystywany przy odbieraniu plików,
upload_max_filesize – dopuszczalna maksymalna wielkość odbieranych plików,
max_file_uploads – dopuszczalna maksymalna ilość plików odbieranych jednocześnie
Konfiguracja PHP – php.ini(sesja)
session.use_cookies – określa czy używać cookie do przechowywania sesji,
session.name – nazwa identyfikatora sesji (domyślnie PHPSSID),
session.auto_start – inicjalizacja sesji podczas żądania,
session.cookie_lifetime – określenie długości życia danego cookie.
Konfiguracja PHP – php.ini (buforowanie stron)
output_buffering – pozwala na buforowanie strony przed wysłaniem jej do przeglądarki (dzięki niej m.in. możliwe jest ustawienie nagłówków w dowolnym miejscu skryptu – pozbywamy się problemu ”headers already sent”). Możliwe jest określenie także wielkości bufora – z tym ostrożnie.
zlib.output_compression – ustawienie kompresji strony przed wysłaniem jej do przeglądarki – oszczędność transferu i szybkość dostarczania strony – konieczna uprzednia instalacja biblioteki zlib