PHP расширяет горизонты: поддержка новой платформы для веб-разработки

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

PHP теперь поддерживает новую платформу: что изменится для разработчиков?

Сообщество PHP продолжает активно развиваться, и на этот раз команда разработчиков ядра языка сделала важный шаг навстречу современным требованиям инфраструктуры. Официально объявлено о полной поддержке новой платформы, которая ранее была недоступна для нативной работы с PHP. Речь идет о платформе WebAssembly System Interface (WASI) — эволюционном расширении WebAssembly, позволяющем запускать PHP-код не только в браузере, но и в серверных окружениях, контейнерах и edge-сетях.

Что такое WASI и почему это важно?

WASI (WebAssembly System Interface) — это стандартизированный интерфейс, который позволяет WebAssembly-программам взаимодействовать с операционной системой: файловой системой, сетью, временем и другими системными ресурсами. Ранее PHP мог работать только через традиционные интерпретаторы (Zend Engine) в окружении веб-сервера (Apache, Nginx) или CLI. Теперь же благодаря поддержке WASI открываются новые горизонты:

  • Кроссплатформенность и безопасность: PHP-приложения могут запускаться в изолированной песочнице WASI, что повышает безопасность выполнения кода на серверах общего пользования.
  • Edge-вычисления: возможность развертывать PHP-скрипты на границе сети (CDN, Cloudflare Workers, Fastly Compute) без необходимости полноценного сервера.
  • Контейнеризация без Docker: WASI-модули легче и быстрее запускаются, чем традиционные контейнеры, что идеально для микросервисов и serverless-архитектур.
  • Универсальность: один и тот же PHP-код можно выполнять на любой платформе, поддерживающей WASI — от Linux и Windows до браузеров и встраиваемых систем.

Как это работает технически?

Поддержка WASI в PHP реализована через экспериментальный компилятор PHP-to-WebAssembly (на базе LLVM) и специальную сборку runtime. Разработчики могут компилировать свои PHP-скрипты в .wasm-модули, которые затем запускаются в любом WASI-совместимом рантайме (например, Wasmtime, Wasmer, Wamr). При этом сохраняется работа с файлами, сетевыми сокетами и даже базой данных через стандартные расширения PHP (PDO, mysqli, cURL), но в рамках sandbox-ограничений.

Пример простого использования:

  • Создаёте PHP-скрипт с привычным синтаксисом.
  • Компилируете его в .wasm с помощью инструмента php-wasm.
  • Запускаете на любом WASI-рантайме: wasmtime run app.wasm.

Что это значит для экосистемы?

Нововведение открывает путь для PHP в новые сегменты разработки: Интернет вещей (IoT), функции на границе сети (edge functions), безопасные мультитенантные среды и даже настольные приложения (через WebAssembly в Electron). Для образовательных платформ и начинающих разработчиков это упрощает изучение PHP — теперь не нужно настраивать веб-сервер, достаточно иметь WASI-рантайм.

Пока поддержка находится на стадии экспериментальной (RFC #1234), но уже доступна для тестирования в nightly-сборках PHP 8.4. Ожидается, что к стабильному релизу 8.5 технология получит полноценную интеграцию и официальную документацию.

Следите за обновлениями на PythonLib — мы расскажем, как протестировать WASI-сборку PHP и написать первый кроссплатформенный скрипт.

Рекомендуем библотеки