Konfiguracja PHP i serwera www
Ostatnia modyfikacja: 01.06.2021
Zasadniczo nasze środowisko pracy już działa, ale chciałbym dodać jeszcze kilka słów na ten temat.
Wyświetlanie błędów PHP
Na początek proponuję wykonać jedną istotną zmianę: włączyć wyświetlanie wszystkich błędów. Domyślnie opcja ta jest wyłączona, a to dlatego, że na serwerze produkcyjnym (tym, na którym docelowo będzie działać aplikacja) błędy nie powinny być widoczne. Po co zdradzać użytkownikowi szczegóły techniczne naszej aplikacji?
Jeśli jednak mamy środowisko testowe to chcielibyśmy wszystkie błędy widzieć. Dlatego też zmienimy globalnie ustawienie o nazwie display_errors. Głównym plikiem konfiguracyjnym jest php.ini
i to tam należy go szukać. Jeśli znasz trochę systemy Linuxowe, to pewnie już domyślasz się, że znajduje się on w katalogu /etc/php
(w katalogu /etc
swoje konfiguracje przechowuje większość programów). Następnie znajdziesz tam katalog wersji, dalej katalogi apache2
(dla serwera Apache) i cli
(dla konsoli), a każdy z nich będzie zawierał swój plik php.ini
z własną konfiguracją. Jeśli więc chcesz zmienić ustawienie dla obydwu środowisk, to należy zmienić to samo w dwóch plikach.
Otwieramy dany plik, ja akurat zrobię to w konsolowym edytorze nano, odszukujemy ustawienie display_errors i zmieniamy jego wartość z Off na On. To tyle, zapisujemy plik.
Powszechny problem
Bez znaczenia, czy plik konfiguracyjny edytujesz w trybie graficznym, czy konsoli, potrzebujesz do tego uprawnień roota (zakładając domyślne uprawnienia do tego pliku, czyli zapis tylko dla właściciela, którym jest konto root). Jeśli więc ujrzysz przy zapisie błąd: „Brak uprawnień” lub „Permission denied”, spróbuj poprzedzić polecenie sudo
.
W przypadku konsoli, ta zmiana będzie widoczna od razu. Jednak aby została zauważona także przez serwer www, musimy go zresetować lub wczytać ponownie konfigurację:
W pliku php.ini
możemy zmienić wiele rzeczy, jednak teraz nie o tym. Wykonaliśmy tylko podstawową zmianę, która będzie nam pomocna podczas nauki.
A Windows?
W przypadku gdy skorzystałeś z XAMPPa opcja display_errors powinna być domyślnie włączona. Plik konfiguracyjny php.ini
znajdziesz w podfolderze php
w katalogu instalacyjnym (domyślnie będzie to C:\xampp\php\php.ini
). Możesz też kliknąć przycisk Config, a następnie wybrać z listy PHP (php.ini) w panelu kontrolnym w wierszu przy Apache. Po zmianach oczywiście także należy dokonać restartu serwera.
Ustawienia Apache
Zupełnie dodatkowo jeszcze słowo o konfiguracji Apache. Znajdziesz ją w katalogu… /etc/apache2
(trudno się było tego domyślić, nie?). Folder sites-available
zawiera pliki konfiguracyjne tzw. virtual hostów, dzięki którym możemy obsłużyć wiele domen i ustawić dla nich różne opcje. Po instalacji powinniśmy mieć tylko domyślną, ogólną konfigurację w pliku 000-default.conf
.
Z istotniejszych opcji: w pierwszej linii mamy domenę, pod jaką ma być widoczna dana strona. W tym przypadku jest to *
, a więc może być każda domena. Po dwukropku jest port, pod jakim będzie działał serwer, jak już wspominałem domyślny port dla HTTP to 80, taki też odpytują przeglądarki. Trochę poniżej mamy jeszcze DocumentRoot
- wskazuje to katalog, z którego będą ładowane pliki widoczne na serwerze, po wejściu na jego adres.
Samo utworzenie pliku w sites-available
jednak nie sprawia, że serwer będzie go widział. Należy go dodać też do katalogu sites-enabled
. Przeważnie robi się to poprzez dowiązanie (taki jakby skrót). Jest też nawet przygotowana komenda: a2ensite nazwa-pliku
(oraz analogicznie a2dissite
do wyłączenia), aby zrobić to automatycznie. Gdybyś zmieniał cokolwiek w konfiguracji, to nie zapomnij o restarcie serwera/przeładowaniu ustawień - sudo service apache2 reload
powinno wystarczyć.
Komentarze