PHP/Instalacja/PHP: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
poprawki
Linia 1:
{{prognaw|PHP|[[../MySQL 5|Instalacja MySQL 5]]|[[../../Pierwszy skrypt/]]}}
 
== Instalacja PHP 5.2 ==
Na samym końcu instalujemy główny program, czyli interpreter PHP oraz podłączamy go do już zainstalowanego serwera Apache.
 
=== Instalacja w systemach Unix/Linux ===
==== Pakiety ====
Niemal wszystkie dystrybucje systemu Linux mają w swoich zasobach pakiety PHP. Jeżeli nie czujesz się na siłach instalować projektu ze źródeł, możesz skorzystać z tego rozwiązania i stosując siępostępować odpowiednio dowedług instrukcji systemu pakietów używanego w twojej dystrybucji. Pakiety mają jednak kilka wad, a najważniejszą z nich jest konieczność polegania na intuicji autora pakietów. Interpreter nie zawsze jest skonfigurowany tak, jak byśmy chcieli, a ponadto należy ręcznie uaktywnić sobie dodatkowe moduły. Choć nowe wersje PHP ukazują się przeważnie w kilkumiesięcznych odstępach, niekiedy dystrybucje wyposażone są w naprawdę stare wersje interpretera. Przypominamy, że podręcznik ten pisany jest pod wersje PHP 5.1.x/5.2.x, więc jeśli twój pakiet zainstaluje Ci starszą, niektóre przykłady mogą nie działać prawidłowo.
 
Po zainstalowaniu PHP z pakietu odnajdź w swoim systemie plik ''php.ini'' i upewnij się, że następujące dyrektywy są ustawione na:
* ''error_reporting = E_ALL | E_STRICT'' - poziom raportowania błędów
* ''doc_root = "/home/*/www"'' - katalogi kont użytkowników
* ''register_globals = Off''
* ''magic_quotes_gpc = Off''
* ''magic_quotes_runtime = Off''
Trzy ostatnie dyrektywy służą do zachowania kompatybilności ze skryptami pisanymi pod PHP 3 i pierwsze wersje PHP 4, aktualnie zdecydowanie odradza się korzystanie z nich nie tylko ze względów bezpieczeństwa, ale też z powodu planów ich wycofania w PHP 6. Dlatego pozostawiamy je wyłączone i tak też będziemy pisać nasze skrypty.
 
Upewnij się ponadto, że PHP ładuje moduły ''php_pdo.so'', ''php_pdo_mysql.so'', ''php_mysql.so'', ''php_zlib.so'' oraz ''php_gd2.so''.
 
==== Kompilacja ze źródeł ====
NaJeśli początekzdecydowałeś się na kompilację ze źródeł, zacznij od ich pobrania - pobieramy źródła projektu dostępne na stronie [http://www.php.net/downloads.php www.php.net]. Rozpakowujemy je w katalogu ''/usr/src'':
 
tar -xvf php-5.2.0.tar.gz
 
Jeżeli ściągnąłeś inną wersję projektu albo źródła są skompresowane innym algorytmem, odpowiednio zmodyfikuj nazwę swojego pliku. Po rozpakowaniu powinien pojawić się katalogukatalog ''php-5.2.0''. Przechodzimy do niego:
 
cd php-5.2.0
Linia 24 ⟶ 35:
Oto opis poszczególnych opcji:
*'''--with-apxs2=/usr/local/apache2/bin/apxs''' - informujemy, że chcemy skompilować PHP jako moduł serwera Apache i podajemy ścieżkę do programu ''apxs'' dostarczanego wraz z nim.
*'''--with-config-file-path=/etc/apache''' - informujemy, że plik konfiguracyjny PHP znajdować się będzie w katalogu ''/etc/apache''.
*'''--with-zlib''' - dodajemy bibliotekę Zlib potrzebną niektórym modułom.
*'''--with-mysql=/usr/local/mysql''' - aktywujemy najstarsze rozszerzenie do obsługi baz danych MySQL, podając ścieżkę do katalogu, w którym znajduje się folder z nagłówkami C serwera.
*'''--with-mysqli=/usr/local/mysql/bin/mysql_config''' - aktywujemy nowe rozszerzenie do obsługi baz danych MySQL, podając ścieżkę do programu ''mysql_config'' generującego odpowiednie pliki.
*'''--with-pdo-mysql=/usr/local/mysql/bin/mysql_config''' - aktywujemy sterownik dla bazy MySQL dla biblioteki PHP Data Objects omawianej w tym podręczniku. Ścieżka także prowadzi do programu ''mysql_config''.
*'''--with-gd''' - aktywujemy bibliotekę GD do generowania obrazków.
*'''--enable-gd-native-ttf''' - aktywujemy wbudowaną obsługę czcionek TTF w bibliotece GD.
*'''--with-libxml-dir=/usr/local/libxml''' - podajemy ścieżkę do katalogu biblioteki ''libxml'', dzięki czemu aktywne będą moduły do obsługi XML-a w PHP.
Linia 44 ⟶ 55:
Otwieramy ten plik i modyfikujemy w nim następujące dyrektywy:
*''error_reporting'' - ustawić na ''E_ALL | E_STRICT''
*''doc_root'' - ustawiamyustawić ścieżkę do katalogówkatalogu kont, w których zamierzamy docelowo używać PHP:, czyli ''/home/*/www'' (ta sama, co w Apache)
 
Otwieramy plik konfiguracji serwera Apache: ''/etc/apache/httpd.conf''. Sprawdzamy, czy program "apxs" nie dodał nigdzie linijkilinijkę
 
LoadModule php5_module modules/libphp5.so
Linia 65 ⟶ 76:
 
{{infobox|Opisana tutaj procedura kompilacji ze źródeł jest identyczna także dla wersji 5.2.x, a z dużą dozą prawdopodobieństwa także i dla przyszłych wydań.}}
 
==== Pakiety ====
Niemal wszystkie dystrybucje systemu Linux mają w swoich zasobach pakiety PHP. Jeżeli nie czujesz się na siłach instalować projektu ze źródeł, możesz skorzystać z tego rozwiązania i stosując się odpowiednio do instrukcji systemu pakietów używanego w twojej dystrybucji. Pakiety mają jednak kilka wad, a najważniejszą z nich jest konieczność polegania na intuicji autora pakietów. Interpreter nie zawsze jest skonfigurowany tak, jak byśmy chcieli, a ponadto należy ręcznie uaktywnić sobie dodatkowe moduły. Choć nowe wersje PHP ukazują się przeważnie w kilkumiesięcznych odstępach, niekiedy dystrybucje wyposażone są w naprawdę stare wersje interpretera. Przypominamy, że podręcznik ten pisany jest pod wersje PHP 5.1.x/5.2.x, więc jeśli twój pakiet zainstaluje Ci starszą, niektóre przykłady mogą nie działać prawidłowo.
 
Po zainstalowaniu PHP z pakietu odnajdź w swoim systemie plik ''php.ini'' i upewnij się, że następujące dyrektywy są ustawione na:
* ''error_reporting = E_ALL | E_STRICT'' - poziom raportowania błędów
* ''doc_root = "/home/*/www"'' - katalogi kont użytkowników
* ''register_globals = Off''
* ''magic_quotes_gpc = Off''
* ''magic_quotes_runtime = Off''
Trzy ostatnie dyrektywy służą do zachowania kompatybilności ze skryptami pisanymi pod PHP 3 i pierwsze wersje PHP 4, aktualnie zdecydowanie odradza się korzystanie z nich nie tylko ze względów bezpieczeństwa, ale też z powodu planów ich wycofania w PHP 6. Dlatego pozostawiamy je wyłączone i tak też będziemy pisać nasze skrypty.
 
Upewnij się ponadto, że PHP ładuje moduły ''php_pdo.so'', ''php_pdo_mysql.so'', ''php_mysql.so'', ''php_zlib.so'' oraz ''php_gd2.so''.
 
=== Instalacja w systemach Windows ===
Instalacja PHP jako jedyna nie polega na klikaniu dalej. Taka możliwość oczywiście istnieje, lecz wtedy nie można skonfigurować interpretera do pracy jako moduł serwera.
 
By zacząć działać, musimy ściagnąć najnowszą wersję PHP ze strony [http://www.php.net/downloads.php www.php.net] w wersji dla systemu Windows. W chwili powstawania tego tekstu najnowszą wersją było PHP 5.1.1 (obecna wersja to 5.2.12). Ściągnięty plik ( tzw. binarki, przykładowo wyglądające: 'php-5.21.61-Win32.zip' ) rozpakowujemy do katalogu ''D:/Serwer/php5/''. Następnie zmieniamy rozszerzenie pliku ''php.ini-recommended'' na ''php.ini'' i zabieramy się za jego edytowanie:
# Edycja poziomu błędów: znajdź linię ''error_reporting = E_ALL'' i zmień ją na ''error_reporting = E_ALL | E_STRICT''. Ponadto odszukaj ''display_errors'' i ustaw wartość na '''On'''.
# W dyrektywie ''doc_root'' wprowadzamywprowadź ścieżkę do katalogu ''"D:/Serwer/www"'' utworzonego przy okazji instalowania serwera Apache. Tu będziemy trzymać nasze projekty.
# W dyrektywie ''extension_dir'' wprowadzamy ścieżkę do katalogu ''D:/Serwer/php5/ext'', aby PHP mógł zlokalizować dodatkowe moduły.
# Przechodzimy do sekcji '''; Dynamic Extensions ;''' gdzie ustawiamyustawimy, jakie dodatkowe moduły mają być ładowane przy starcie PHP. Należy usunąć średnik sprzed następujących linii:
 
extension=php_gd2.dll
Linia 107 ⟶ 105:
AddType application/x-httpd-php .php
 
Należy jeszcze dodać jeszcze jedną linijkę:
 
PHPIniDir "D:/Serwer/php5"
 
aby wskazać lokalizację pliku ''php.ini'', ponieważ domyślna jego lokalizacja w serwerze Apache to ''C:\Windows''. Jeśli więc tego nie zrobimy, nasze moduły nie zostaną załadowane. Teraz restartujemy serwer i zabieramy się za sprawdzenie, czy wszystko przebiegło poprawnie. Umieść w katalogu (wskazanym w pliku konfiguracyjnym serwera - opis znajdziesz w rozdziale [[PHP/Instalacja/Apache|Instalacja Apache]]) ''D:/Serwer/Apache2/htdocs/'' plik ''phpinfo.php'' z taką magicznąponiższą linijką:
 
<nowiki><?php phpinfo(); ?></nowiki>
 
W przeglądarce wpisz http://localhost/phpinfo.php - powinien pokazać Ci się bardzo długi raport ntna temat zainstalowanej wersji PHP (wersja, konfiguracja, moduły itd.). Jeżeli zamiast tego ujrzysz wpisany wyżej kod, oznacza to, że coś zrobiłeśzostało zrobione źle na którymś z etapów podpinania PHP do serwera.
 
=== Instalacja w systemie Mac OS X ===
Linia 122 ⟶ 120:
 
Kompilacja ze źródeł będzie wymagała instalacji dodatkowych bibliotek (dla ułatwienia można je zainstalować FinkCommanderem) oraz Developer Tools z płyty systemowej Mac OS X. Dalej kompilacja przebiega tak samo jak dla Unix/Linux.
 
<noinclude>
{{prognaw|PHP|
{{prognaw|PHP|[[../MySQL 5|Instalacja MySQL 5]]|[[../../Pierwszy skrypt/]]}}
[[../../Pierwszy skrypt/]]}}
</noinclude>