PHP¶
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 najpierw 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 ze 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. Można definiować konfigurację widoczną w phpinfo()
, tę z listy dyrektyw opisaną jako PHP_INI_PERDIR
lub PHP_INI_ALL
oraz niektóre zmienne dodatkowych modułów.
Przykłady¶
W poniższym przykładzie zostanie ustawiona zmienna error_reporting
dla domeny domena
. W tym celu należy zapisać do pliku /usr/home/login/domains/domena/.user.ini
zawartość:
error_reporting = E_ALL | E_WARNING
Zwiększenie ilości pamięci dla interpretatora PHP:
memory_limit = 768M
Zwiększenie max_execution_time
:
max_execution_time = 360
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/domena/phperror.log
Zmiana domyślnej lokalizacji katalogu plików tymczasowych (/tmp
)
upload_tmp_dir = ścieżka/do/katalogu
Ładowanie dodatkowych modułów PHP¶
Ładowanie dodatkowych modułów PHP jest możliwe poprzez wpis w pliku .user.ini
:
anp.extensions = "nazwamodułu"
amqp
, sodium
(PHP 7.1: libsodium
, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2: sodium
), phalcon
(PHP do wersji 7.4 włącznie), grpc
, yaml
(od PHP 7.1 do PHP 8.2), sysvsem
(od PHP 7.3 do PHP 8.2), swoole
(od PHP 8.0 do PHP 8.2).
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/domena/.user.ini
zawartość (ścieżka wskazuje drzewo katalogów):
open_basedir = "ścieżka:/tmp"
Zaleca się skorzystanie z konfiguracji open_basedir
dostępnej bezpośrednio w panelu w Szczegóły
przy danej witrynie WWW typu PHP.
Zmiana ustawień PHP dla PHP CLI¶
W celu zmiany opcji dla PHP CLI
plik konfiguracyjny .user.ini
z zawartością musi zostać utworzony w katalogu domowym. Po jego utworzeniu należy wydać polecenie:
echo "export PHP_INI_SCAN_DIR=/usr/home/${USER}" >> $HOME/.bash_profile && source $HOME/.bash_profile
Wersja PHP¶
Domyślną wersją PHP jest 8.1.
Wyboru wersji PHP dla strony WWW można dokonać w utworzonym przez siebie pliku /usr/home/login/domains/domena/.htaccess
. Należy wtedy dopisać do niego jedną z poniższych linii:
AddType application/x-httpd-php56 .php
AddType application/x-httpd-php70 .php
AddType application/x-httpd-php71 .php
AddType application/x-httpd-php72 .php
AddType application/x-httpd-php73 .php
AddType application/x-httpd-php74 .php
AddType application/x-httpd-php80 .php
AddType application/x-httpd-php81 .php
AddType application/x-httpd-php82 .php
AddType application/x-httpd-php83 .php
AddType application/x-httpd-php84 .php
Ponadto na serwerze dostępne są binarki PHP CLI
pod poleceniami:
$ php
$ php56
$ php70
$ php71
$ php72
$ php73
$ php74
$ php80
$ php81
$ php82
$ php83
$ php84
Aby uruchamiać daną wersję PHP CLI
bez podawania jej wersji w nazwie binarki należy wydać polecenia (przykład dla wersji 7.1):
mkdir -p ~/bin
ln -s /usr/local/bin/php71 ~/bin/php
echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile
oraz CGI-FCGI
:
$ php-cgi
$ php56-cgi
$ php70-cgi
$ php71-cgi
$ php72-cgi
$ php73-cgi
$ php74-cgi
$ php80-cgi
$ php81-cgi
$ php82-cgi
$ php83-cgi
$ php84-cgi
Skrypty PHP bez limitów czasowych¶
Skrypty PHP bez limitów czasowych można uruchamiać po zalogowaniu się przez SSH
. Aby uruchomić skrypt należy skorzystać z PHP CLI
, na przykład:
php ~/domains/sklep.domena.pl/public_html/import_produktow.php
Drugim sposobem jest uruchomienie wbudowanego serwera webowego w PHP. Aby to zrobić należy:
- Zarezerwować port
TCP
. - Zalogować się przez
SSH
. - Przejść do katalogu ze skryptami PHP (na przykład
public_html
wybranej domeny)
cd ~/domains/domena/public_html
- Uruchomić serwer na zarezerwowanym porcie
php73 -S 0.0.0.0:ZAREZERWOWANY_PORT
- W tym kroku można również wybrać inną wersję PHP, na przykład
php72
. - Aby serwer działał po wylogowaniu się, należy go uruchomić na screenie:
screen -dm sh -c "php73 -S 0.0.0.0:ZAREZERWOWANY_PORT"
- W tym kroku można również wybrać inną wersję PHP, na przykład
- Opcjonalnie: dodać stronę WWW typu PROXY na zarezerwowany port.
Dostęp do skryptów jest możliwy poprzez adres http://sX.small.pl:ZAREZEROWANY_PORT
. Na przykład na serwerze s4.small.pl
, zarezerwowanym porcie 12345
dostęp do wcześniej wspomnianego skryptu to http://s4.small.pl:12345/import_produktow.php
.
Korzystanie z funkcji mail()¶
Przed skorzystaniem z funkcji mail() prosimy zapoznać się z zasadami, które jej dotyczą.