170 likes | 335 Views
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:
E N D
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
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