Jak zmienić wersję PHP na serwerze WWW?

Mając podpiętą do serwera domenę i działającą stronę, niektóre skrypty, które będziesz chciał uruchomić na stronie będą wymagać zmian w parametrach ustawionej wersji PHP lub jej zmianę. W tym celu musisz wiedzieć jak zmienić wersję PHP na serwerze WWW. Postępując według instrukcji zamieszczonych poniżej ingerencja w PHP nie będzie stanowić żadnego problemu.

Logowanie do panelu DirectAdmin

Aby zalogować się do panelu DirectAdmin musisz użyć danych logowania przesłanych mailowo po założeniu serwera WWW. W tej wiadomości znajduje się również adres panelu serwera (zawsze zakończony ":2222").

Przy logowaniu należy oczywiście podać nazwę konta i hasło.

jak_zmienic_wersje_php_na_serwerze_www_1.jpg

Po zalogowaniu zobaczysz listę domen aktualnie podpiętych do serwera (Jeżeli Twoja domena nie jest jeszcze podpięta do Twojego serwera, możesz ją podpiąć, korzystając z instrukcji, znajdującej się tutaj). Wybierz domenę, której chcesz zmienić wersję PHP lub edytować aktualnie ustawioną. Na potrzeby tego poradnika wykorzystam domenę nazwa-domeny.waw.pl.

jak_zmienic_wersje_php_na_serwerze_www_2.jpg

Zmiana wersji PHP na serwerze WWW

Aby zmienić wersję PHP należy wejść Konfiguracji PHP. Ta opcja znajduje się na głównej stronie panelu DirectAdmin w sekcji Opcje Zaawansowane. Należy pamiętać, że każda domena może mieć ustawioną własną wersję PHP i osobno skonfigurowane parametry.

jak_zmienic_wersje_php_na_serwerze_www_3.jpg

Obecnie na domenie nazwa-domeny.waw.pl aktywne jest PHP w wersji 5.6. Aby zmienić wersję PHP należy zaznaczyć odpowiednie pole w kolumnie Aktywne.

jak_zmienic_wersje_php_na_serwerze_www_4.jpg

Po aktywacji innej wersji PHP zostanie wyświetlony komunikat.

jak_zmienic_wersje_php_na_serwerze_www_5.jpg

Kiedy wczyta się po odświeżeniu, zobaczysz, że aktywna jest teraz wybrana przed momentem wersja PHP, w tym przypadku jest to PHP 7.0.

jak_zmienic_wersje_php_na_serwerze_www_6.jpg

Edycja parametrów PHP

Aby móc edytować wartości parametrów wybranej wersji PHP należy kliknąć w Edytuj parametry w kolumnie Opcje.

jak_zmienic_wersje_php_na_serwerze_www_7.jpg

Większość wersji PHP ma dostępne te same parametry, wyjątkami są PHP 5.2 i PHP 5.3, które mają 3 parametry niedostępne w starszych wersjach. Niezależnie od wersji edycja parametrów wygląda w następujący sposób: po wprowadzeniu odpowiednich zmian w parametrach należy kliknąć zapisz w prawym dolnym rogu okna. Poniżej przedstawiony jest wygląd edycji parametrów w wersji PHP 5.4 i wyższej (po lewej) i wersji 5.2 i 5.3 (po prawej). Przy przy opcjach, którym nadaje się wartości liczbowe podane są ramy w jakich dana opcja musi się mieścić.

jak_zmienic_wersje_php_na_serwerze_www_8.jpg

jak_zmienic_wersje_php_na_serwerze_www_9.jpg

Parametry jakie można tutaj edytować mogą nie być dla wszystkich w pełni zrozumiałe, dlatego poniżej zamieściłem krótki opis poszczególnych parametrów, które można edytować w konfiguracji PHP. Parametry dostępne we wszystkich wersjach PHP:

  • allow_url_fopen – pozwala na otwieranie zewnętrznych adresów URL w skryptach PHP
  • allow_url_include - określa czy możliwe jest dołączanie zdalnych plików korzystając z instrukcji include lub require w skryptach
  • display_errors - odpowiada za wyświetlanie błędów użytkownikom lub ukrywanie ich.
  • display_startup_errors – nawet kiedy display_errors jest włączone (on), nie wyświetlane są błędy podczas sekwencji uruchamiania PHP. Ta dyrektywa pozwala na ich wyświetlanie. Zaleca się nie włączać tej opcji poza debugowaniem skryptu.
  • file_uploads – określa czy pliki mogą być przesyłane na serwer za pomocą PHP, włączenie tej opcji niesie za sobą pewne ryzyko. Pliki przesyłane na serwer mogą nie być tym czym się wydają, mogą to być złośliwe skrypty, pliki wykonywalne wyglądające jak obrazy, itp. Jeżeli przesyłanie plików na serwer nie jest konieczne zaleca się wyłączenie tej opcji (jest ona domyślnie włączona)
  • log_errors – ustala czy błędy PHP będą logowane, dotyczy to wyłącznie logów po stronie klienta. Logi systemowe są osobno zbierane przez nasze maszyny
  • memory_limit – decyduje o limicie pamięci dla wykonywanych skryptów na serwerze
  • max_execution_time – ustala maksymalny czas (w sekundach), w jakim skrypt może działać, zanim zostanie zakończony. Pozwala to zapobiegać nadmiernemu obciążeniu serwera przez źle napisane skrypty
  • max_input_nesting_level – ustala maksymalne zagnieżdżenie funkcji wprowadzających zmienne (np. $_GET, $_POST)
  • max_input_time – konfiguruje maksymalny czas w sekundach w jakim skrypt może analizować dane wejściowe, takie jak POST i GET. Odliczanie czasu rozpoczyna się w momencie wywołania PHP na serwerze, a kończy się kiedy zaczyna się wykonywanie skryptu
  • post_max_size – określa maksymalną wielkość danych przesyłanych metodą POST.
  • short_open_tag - pozwala na stosowanie tagu <? ?>.
  • upload_max_filesize – określa maksymalny rozmiar pliku, który można przesłać na serwer

Parametry dostępne tylko w PHP w wersjach 5.2 i 5.3:

  • register_globals  – kiedy parametr jest włączony, skrypt PHP ma automatycznie ustawione zmienne na podstawie danych pochodzących z żądania strony. NIEBEZPIECZNY i przestarzały. Powinien być zawsze WYŁĄCZONY.
  • magic_quotes_gpc  – ustawia status magic_quotes dla operacji GPC (Get, Post, Cookie). Kiedy jest włączone (on) wszystkie ' (pojedyncze cudzysłowy), '' (podwójne cudzysłowy), (backslashe) i NULL są poprzedzone backslashem ()
  • magic_quotes_runetime  - Jeśli zostanie włączone większość funkcji, które zwracają dane z zewnętrznych źródeł, takich jak bazy danych i pliki tekstowe, będą miały cudzysłowy poprzedzone backslashem ()

Podsumowanie

Wiedza o tym jak zmienić wersję PHP na serwerze WWW i edytować jej parametry może okazać się przydatna przy pracy ze stronami WWW obsługującymi skrypty PHP. Niektóre skrypty mają wymagania odnośnie wersji PHP lub parametrów i bez odpowiedniej konfiguracji nie będą działać poprawnie lub nie będą działać wcale.