Эта страница была переведена сообществом и не обязательно является актуальной. Обратитесь к справочной версии.

Эта страница была переведена сообществом и не обязательно является актуальной. Обратитесь к справочной версии.

Эта страница была переведена сообществом и не обязательно является актуальной. Обратитесь к справочной версии.

Спонсор
FrankenPHP: Современный сервер приложений для PHP

FrankenPHP: Современный сервер приложений для PHP

FrankenPHP

FrankenPHP — это современный сервер приложений для PHP, построенный на базе веб-сервера Caddy.

FrankenPHP добавляет новые возможности вашим PHP-приложениям благодаря следующим функциям: Early Hints, Worker режим, Real-time режим, автоматическая поддержка HTTPS, HTTP/2 и HTTP/3.

FrankenPHP совместим с любыми PHP-приложениями и значительно ускоряет ваши проекты на Laravel и Symfony благодаря их официальной поддержке в worker режиме.

FrankenPHP также может использоваться как автономная Go-библиотека для встраивания PHP в любое приложение с использованием net/http.

Узнайте больше на сайте frankenphp.dev или из этой презентации:

Slides

# Начало работы

В Windows используйте WSL для запуска FrankenPHP.

# Скрипт установки

Скопируйте и выполните эту команду в терминале, чтобы автоматически установить подходящую версию для вашей платформы:

curl https://frankenphp.dev/install.sh | sh

# Автономный бинарный файл

Если вы предпочитаете не использовать Docker, мы предоставляем автономные статические бинарные файлы FrankenPHP для Linux и macOS, включающие PHP 8.4 и большинство популярных PHP‑расширений.

Скачать FrankenPHP

Установка расширений: Наиболее распространенные расширения уже включены. Устанавливать дополнительные расширения невозможно.

# Пакеты rpm

Наши мейнтейнеры предлагают rpm‑пакеты для всех систем с dnf. Для установки выполните:

sudo dnf install https://rpm.henderkes.com/static-php-1-0.noarch.rpm
sudo dnf module enable php-zts:static-8.4 # доступны 8.2–8.5
sudo dnf install frankenphp

Установка расширений: sudo dnf install php-zts-<extension>

Для расширений, недоступных по умолчанию, используйте PIE:

sudo dnf install pie-zts
sudo pie-zts install asgrim/example-pie-extension

# Пакеты deb

Наши мейнтейнеры предлагают deb‑пакеты для всех систем с apt. Для установки выполните:

sudo curl -fsSL https://key.henderkes.com/static-php.gpg -o /usr/share/keyrings/static-php.gpg && \
echo "deb [signed-by=/usr/share/keyrings/static-php.gpg] https://deb.henderkes.com/ stable main" | sudo tee /etc/apt/sources.list.d/static-php.list && \
sudo apt update
sudo apt install frankenphp

Установка расширений: sudo apt install php-zts-<extension>

Для расширений, недоступных по умолчанию, используйте PIE:

sudo apt install pie-zts
sudo pie-zts install asgrim/example-pie-extension

# Docker

docker run -v .:/app/public \
    -p 80:80 -p 443:443 -p 443:443/udp \
    dunglas/frankenphp

Перейдите по адресу https://localhost и наслаждайтесь!

Tip

Не используйте https://127.0.0.1. Используйте https://localhost и настройте самоподписанный сертификат.
Чтобы изменить используемый домен, настройте переменную окружения SERVER_NAME.

# Homebrew

FrankenPHP также доступен как пакет Homebrew для macOS и Linux.

brew install dunglas/frankenphp/frankenphp

Установка расширений: Используйте PIE.

# Использование

Для запуска содержимого текущего каталога выполните:

frankenphp php-server

Также можно запускать CLI‑скрипты:

frankenphp php-cli /path/to/your/script.php

Для пакетов deb и rpm можно запустить сервис systemd:

sudo systemctl start frankenphp

# Документация

# Примеры и шаблоны

Редактировать эту страницу