PHP: Różnice pomiędzy wersjami

Linia 10: Linia 10:
 
=== Konfiguracja PHP ===
 
=== Konfiguracja PHP ===
  
Konfiguracja interpretera PHP znajduje się w pliku <code class="directory">~/.user.ini</code>. Istnieje możliwość ustalenia własnego pliku <code class="directory">.user.ini</code>, oddzielnie dla każdego katalogu. Dokumentacja jest dostępna na [http://php.net/manual/pl/ini.list.php oficjalnej stronie PHP].
+
Konfiguracja interpretera PHP znajduje się w pliku <code class="directory">/usr/home/''login''/.user.ini</code>. Istnieje możliwość ustalenia własnego pliku <code class="directory">.user.ini</code>, oddzielnie dla każdego katalogu. Dokumentacja jest dostępna na [http://php.net/manual/pl/ini.list.php oficjalnej stronie PHP].
  
 
==== Przykłady ====
 
==== Przykłady ====
  
W poniższym przykładzie zostanie ustawiona zmienna error_reporting dla domeny test.pl. W tym celu należy zapisać do pliku <code class="directory">~/domains/test.pl/.user.ini</code> zawartość:
+
W poniższym przykładzie zostanie ustawiona zmienna error_reporting dla domeny test.pl. W tym celu należy zapisać do pliku <code class="directory">/usr/home/''login''/domains/test.pl/.user.ini</code> zawartość:
 
  error_reporting = E_ALL | E_WARNING
 
  error_reporting = E_ALL | E_WARNING
  
Linia 25: Linia 25:
 
  display_errors = off
 
  display_errors = off
 
  log_errors = on
 
  log_errors = on
  error_log = ~/domains/test.pl/phperror.log
+
  error_log = /usr/home/''login''/domains/test.pl/phperror.log
  
Aby ograniczyć możliwość operacji na plikach przez PHP do określonego drzewa katalogów należy skorzystać z open_basedir. W tym celu należy zapisać do pliku <code class="directory">~/domains/test.pl/.user.ini</code> zawartość (ścieżka wskazuje drzewo katalogów):
+
Aby ograniczyć możliwość operacji na plikach przez PHP do określonego drzewa katalogów należy skorzystać z open_basedir. W tym celu należy zapisać do pliku <code class="directory">/usr/home/''login''/domains/test.pl/.user.ini</code> zawartość (ścieżka wskazuje drzewo katalogów):
 
  open_basedir = "ścieżka:/tmp"
 
  open_basedir = "ścieżka:/tmp"
  
Istnieje również możliwość wykorzystania .user.ini przy php cli, w tym celu należy wydać polecenie <code>export PHPRC=~</code>, gdzie login to nazwa naszego konta, plik .user.ini należy umieścić w takim wypadku w katalogu domowym.
+
Istnieje również możliwość wykorzystania .user.ini przy php cli, w tym celu należy wydać polecenie <code>export PHPRC=/usr/home/''login''</code>, gdzie login to nazwa naszego konta, plik .user.ini należy umieścić w takim wypadku w katalogu domowym.
  
 
==== Wersja PHP ====
 
==== Wersja PHP ====
  
Domyślna wersja PHP to 5.4. Wyboru wersji PHP można dokonać w pliku<code class="directory">~/domains/''domena''/public_html/.htaccess</code>. Należy wtedy dopisać do niego jedną z poniższych linii.
+
Domyślna wersja PHP to 5.4. Wyboru wersji PHP można dokonać w pliku<code class="directory">/usr/home/''login''/domains/''domena''/public_html/.htaccess</code>. Należy wtedy dopisać do niego jedną z poniższych linii.
 
  AddType application/x-httpd-php53 .php
 
  AddType application/x-httpd-php53 .php
 
  AddType application/x-httpd-php54 .php
 
  AddType application/x-httpd-php54 .php
Linia 41: Linia 41:
  
 
==== Własne strony błędów ====
 
==== Własne strony błędów ====
Użytkownik może z łatwością utworzyć własne strony błędów dla swojej strony. W tym celu należy w głównym katalogu domeny (np. <code class="directory">~/domains/''domena''/public_html/</code>) utworzyć katalog <code class="directory>errors</code> i umieszczać w nim statyczne strony błędów. Kod PHP nie zostanie wykonany, tylko wyświetlony użytkownikowi. Poniżej prezentujemy listę stron błędów, które użytkownik może zmieniać:
+
Użytkownik może z łatwością utworzyć własne strony błędów dla swojej strony. W tym celu należy w głównym katalogu domeny (np. <code class="directory">/usr/home/''login''/domains/''domena''/public_html/</code>) utworzyć katalog <code class="directory>errors</code> i umieszczać w nim statyczne strony błędów. Kod PHP nie zostanie wykonany, tylko wyświetlony użytkownikowi. Poniżej prezentujemy listę stron błędów, które użytkownik może zmieniać:
  
 
{| class="wikitable"
 
{| class="wikitable"

Wersja z 18:37, 6 mar 2015

PHP to obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

Wstępna konfiguracja domeny

Do uruchomienia strony napisanej w PHP należy pierw zadbać o prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:

  • Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS,
  • Została dodana Strona WWW z wskazaniem typu PHP.

Konfiguracja PHP

Konfiguracja interpretera PHP znajduje się w pliku /usr/home/login/.user.ini. Istnieje możliwość ustalenia własnego pliku .user.ini, oddzielnie dla każdego katalogu. Dokumentacja jest dostępna na oficjalnej stronie PHP.

Przykłady

W poniższym przykładzie zostanie ustawiona zmienna error_reporting dla domeny test.pl. W tym celu należy zapisać do pliku /usr/home/login/domains/test.pl/.user.ini zawartość:

error_reporting = E_ALL | E_WARNING

Zwiększenie ilości pamięci dla interpretatora PHP:

memory_limit = 256M

Zwiększenie max_input_vars:

max_input_vars = 6000

Zapisywanie error logów php do pliku:

display_errors = off
log_errors = on
error_log = /usr/home/login/domains/test.pl/phperror.log

Aby ograniczyć możliwość operacji na plikach przez PHP do określonego drzewa katalogów należy skorzystać z open_basedir. W tym celu należy zapisać do pliku /usr/home/login/domains/test.pl/.user.ini zawartość (ścieżka wskazuje drzewo katalogów):

open_basedir = "ścieżka:/tmp"

Istnieje również możliwość wykorzystania .user.ini przy php cli, w tym celu należy wydać polecenie export PHPRC=/usr/home/login, gdzie login to nazwa naszego konta, plik .user.ini należy umieścić w takim wypadku w katalogu domowym.

Wersja PHP

Domyślna wersja PHP to 5.4. Wyboru wersji PHP można dokonać w pliku/usr/home/login/domains/domena/public_html/.htaccess. Należy wtedy dopisać do niego jedną z poniższych linii.

AddType application/x-httpd-php53 .php
AddType application/x-httpd-php54 .php
AddType application/x-httpd-php55 .php
AddType application/x-httpd-php56 .php

Własne strony błędów

Użytkownik może z łatwością utworzyć własne strony błędów dla swojej strony. W tym celu należy w głównym katalogu domeny (np. /usr/home/login/domains/domena/public_html/) utworzyć katalog errors i umieszczać w nim statyczne strony błędów. Kod PHP nie zostanie wykonany, tylko wyświetlony użytkownikowi. Poniżej prezentujemy listę stron błędów, które użytkownik może zmieniać:

Kod błędu Plik ze stroną Opis błędu
401 errors/401.html wyświetlany po błędnej autoryzacji.
403 errors/403.html brak dostępu do pliku/katalogu.
404 errors/404.html plik/katalog nie istnieje.
500 errors/500.html błąd serwera (najczęsciej błędne wpisy w .htaccess).
502 errors/502.html odrzucenie żądania przez backend/fastcgi (php) lub przekroczenie limitu interpretatorów.
503 errors/503.html przekroczenie limitu interpretatorów.
504 errors/504.html przekroczenie czasu na wykonanie żądania.

Phalcon

Na serwerach MyDevil dostępny jest wydajny framework Phalcon dla wersji PHP >= 5.3. Aby załadować moduł należy w skrypcie php dopisać
dl('phalcon.so');