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

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

Практическое руководство для пользователя: как подготовить ZIP, выбрать entrypoint, запускать разрешённые команды, скачать artifact и понять частые ошибки компиляции.

Быстрый путь к первой сборке
  1. Упакуйте проект в ZIP без секретов и мусора.
  2. Проверьте, что entrypoint существует, обычно public/index.php.
  3. Запустите report/check/deps перед compile.
  4. Скачайте artifact и запустите бинарник по README_RUN.
CONCEPT

Что такое php2go

php2go — это компилятор и управляемый build-сервис для PHP-проектов. Он анализирует исходники, строит Go-код, подключает совместимый runtime и собирает исполняемый бинарник, который можно запускать без PHP-FPM.

Что делает компилятор

  • Читает PHP-файлы, классы, функции, require/include и Composer autoload.
  • Понимает типы, массивы, свойства объектов, вызовы методов и распространённые PHP-шаблоны.
  • Генерирует Go-код и старается заменять PHP-runtime вызовы прямым Go там, где это безопасно.
  • Собирает бинарник, manifest, логи и инструкции запуска в единый artifact.

Чем он не является

  • Это не PHP-интерпретатор и не обёртка вокруг php-fpm.
  • Это не магическое переписывание бизнес-логики под другой фреймворк.
  • Это не shell-доступ к серверу: команды ограничены и проверяются.
  • Это не гарантия, что любой произвольный PHP-проект соберётся без диагностики.
Зачем это нужно

Главная польза — получить переносимый deploy-артефакт, быстрее проверить legacy-код, уменьшить зависимость от PHP-окружения и увидеть реальные проблемы совместимости до production.