# PHP-Apache 7.2

# Kluczowe funkcjonalności

  • Dostęp do PHP w wersji 7.2
  • Kompatybilność z usługą Baza danych w wariancie PostgreSQL i MySQL
  • Obsługa .htaccess
  • Obsługa mod_rewrite (przyjazne URL)
  • Dostęp do WP-CLI w wersji 2.5.0
  • Własne strony błędów
  • Możliwość zabezpieczenia stron i katalogów hasłem
  • Umożliwia uruchomienie aplikacji zakodowanych z pomocą IonCube Loader

# Struktura katalogów

Wykorzystywana jest następująca struktura katalogów:

  • /data/.zfs - dostęp (wyłącznie do odczytu) utworzonych migawek
  • /data/public - katalog zawierający dane udostępniane przez Apache2
  • /data/etc/php/conf.d - katalog, który może zawierać pliki wykorzystujące dowolne dyrektywy PHP.ini (opens new window)

# Użycie

Środowisko wykonawcze może zostać wykorzystane w ramach usługi Strona.

W celu użycia w ramach usługi Strona podczas utworzenia strony należy wskazać środowisko wykonawcze z wykorzystaniem identyfikatora:

h1cr.io/website/php-apache:7.2 Kod aplikacji należy umieścić w ścieżce public.

# Oprogramowanie

Środowisko udostępnia następujące oprogramowanie:

  • interpreter PHP
  • serwer Apache 2

# Interpreter PHP

Interpreter PHP jest odpowiedzialny za współprace z Apache 2 w celu udzielenia odpowiedzi dynamicznej odpowiedzi wygenerowanej z pomocą języka PHP.

Środowisko udostępnia najnowszą stabilną wersji PHP 7.2. W środowisku mogą zostać wprowadzone nowe drobne poprawki, ale nie ulega zmianie główna wersja.

Na przykład środowisko może zawierać PHP 7.2.12, a później zostać zaktualizowane do PHP 7.2.15, ale nie będzie automatycznie aktualizowana do wyższego wydania głównego.

# Konfiguracja

Aktywne są następujące moduły interpretera PHP: bcmath bz2 calendar exif gd iconv intl ioncube ldap mbstring mcrypt memcached mysql mysql mysqli opcache pdo_mysql pdo_pgsql pgsql redis soap zip.

Wykorzystywane są domyślne parametry PHP.ini z wykluczeniem następujących:

Parametr Wartość
upload_max_filesize 128M
post_max_size 128M

Możliwa jest samodzielny wpływ na konfiguracje PHP z wykorzystaniem /data/etc/php/cron.d.

Przykładowo w celu ograniczenia wyświetlania błędów oraz rejestrowania ich do ogólnego dziennika usługi Strona można utworzyć plik w ścieżce /data/etc/php/cron.d/custom.ini:

error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On

# Dzienniki zdarzeń

Informacje na temat pracy interpretera PHP są domyślnie wyświetlane i rejestrowane do ogólnego dziennika usługi Strona .

# Apache 2

Serwer Apache 2 jest odpowiedzialny za przyjęcie żądania HTTP i współprace z interpreterem PHP w celu udzielenia odpowiedzi.

Środowisko udostępnia aktualną wersje serwer Apache, która może ulegać aktualizacjiom.

Load-balancer działający poza środowiskiem odpowiada za przyjęcie połączenia HTTPS/HTTP i przekazaniem je do Apache 2. Niektóre aplikacje muszą określić pierwotny adres IP żądania i protokół. Adres IP użytkownika jest dostępny w standardowym nagłówku X-Forwarded-For. Aplikacje wymagające tych informacji powinny zostać skonfigurowane, aby ufały żądaniom pochodzącym od lokalnego serwera pośredniczącego.

# Konfiguracja

Aktywne są m. in. następujące moduły Apache: mod_rewrite mod_remoteip setenvif auth_basic_module

Możliwa jest samodzielny wpływ na konfiguracje Apache2 z wykorzystaniem utworzenia pliku .htaccess w dowolnym podkatalogu /data/public.

Dostępne parametry konfiguracji są omówione w dokumentacji Apache2 (opens new window).

# Dzienniki zdarzeń

Informacje na temat pracy serwera Apache2 są rejestrowanego do ogólnego dziennika usługi Strona.

# Zmienne środowiskowe

Następujące zmienne środowiskowe są ustawione w środowisku:

Zmienna środowiskowa Opis
IMAGICK_VERSION Dostępna wersja biblioteki Imagick
PHP_VERSION Dostępna wersja interpretera PHP
WP_CLI Dostępna wersja narzędzia WP-CLI

# Powłoka

W interaktywnej konsoli jest dostępne m. in. następujące oprogramowanie:

  • composer
  • curl
  • h1-cli
  • mariadb-client
  • mc
  • nano
  • postgresql-client
  • rsync
  • less
  • git
  • subversion
  • unzip
  • vim
  • wget
  • wp-cli
  • zip

# Często zadawane pytania

# W jaki sposób mogę wysłać e-mail?

W celu wysyłki wiadomości e-mail należy wykorzystać zewnętrzny serwer SMTP wraz z np. biblioteką PHPMailer (opens new window), wtyczką Wordpress WP Mail SMTP by WPForms (opens new window). Funkcja mail() nie jest dostępna.

Czy uważasz ten artykuł za przydatny? Tak Nie