Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, Mercure.rocks, Vulcain.rocks and of some Symfony components.

Menu
  • Talks
  • Resume
  • Sponsor me
  • Contact
Menu

PHP and Symfony Apps As Standalone Binaries

Posted on December 8, 2023December 14, 2023 by Kévin Dunglas

Distributing PHP applications is quite complicated. For instance, to run a Symfony project in production, a web server, the PHP engine, and the appropriate PHP extensions need to be installed. Their versions and configurations must be compatible with the app. Because PHP is an interpreted language, the application source code must also be available. Composer dependencies as well… and things are even more difficult if some of them are private.

Of course, these days, containers can help. But what if we could make things even simpler: a single distributable binary that’s self-executing? Download a single file, give it the execution bit, and type “./my-app php-server”: boom! Your Symfony application is up and running, served over HTTP/3 with a valid TLS certificate! If you also want to distribute CLI commands written in PHP, we’ve got your back.

Thanks to the latest features of FrankenPHP, the dream is now a reality! Let’s discover how to ship PHP and Symfony applications as standalone binaries, web server, PHP included!

Here are the slides I presented at SymfonyCon Brussels introducing this feature:

Read the documentation on the brand new FrankenPHP website.

Related posts:

  1. Deploying Symfony and API Platform apps on Heroku easily
  2. DunglasAngularCsrfBundle: protect your Symfony / AngularJS apps against CSRF attacks
  3. Continuous Integration for Symfony apps, the modern stack: quality checks, private Composer, headless browser testing…
  4. HTTP/2: speed up your apps and dispatch real time updates (Symfony and API Platform’s features announcement)

1 thought on “PHP and Symfony Apps As Standalone Binaries”

  1. NicolasD says:
    December 8, 2023 at 5:22 pm

    Hello
    Thank you for this new feature.

    Looks very nice

    Any informations about performances ?

    And when the application is build, is there any way to extract the PHP source code ?

    Thank you

    Reply

Leave a ReplyCancel reply

Subscribe to this blog

Recent Posts

  • Containerization Tips and Tricks for PHP apps
  • Front-end application development, Symfony-style(s)
  • Running Laravel Apps With FrankenPHP (Laracon EU)
  • PHP and Symfony Apps As Standalone Binaries
  • Mercure, Braid, PREP… news about subscribing to HTTP resource updates

Top Posts & Pages

  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Containerization Tips and Tricks for PHP apps
  • Securely Access Private Git Repositories and Composer Packages in Docker Builds
  • FrankenPHP: The Modern Php App Server, written in Go
  • Preventing CORS Preflight Requests Using Content Negotiation
  • Goroutines, threads, and thread IDs
  • Generate a Symfony password hash from the command line
  • Symfony's New Native Docker Support (Symfony World)
  • Mercure, Braid, PREP... news about subscribing to HTTP resource updates
  • Running Laravel Apps With FrankenPHP (Laracon EU)

Persistence in PHP with the Doctrine ORM

Persistence in PHP with the Doctrine ORM

Tags

Apache API API Platform Buzz Caddy Docker Doctrine FrankenPHP Go Google HTTP/2 Hydra hypermedia Javascript JSON-LD Kubernetes La Coopérative des Tilleuls Les-Tilleuls.coop Lille Linux Mac Mercure Mercure.rocks Messagerie Instantanée MySQL performance PHP Punk Rock Python React REST Rock'n'Roll RSS Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu Web 2.0 webperf Wordpress XML

Archives

Categories

  • DevOps (29)
  • Mercure (7)
  • Opinions (91)
  • Programming (196)
    • Android (5)
    • Go (15)
    • JavaScript (46)
    • PHP (153)
      • API Platform (69)
      • Laravel (1)
      • Symfony (95)
    • Python (14)
      • Django (5)
  • Security (15)
  • SEO (25)
  • Talks (45)
  • Ubuntu (68)
  • Wordpress (6)

Social

  • Mastodon
  • Twitter
  • LinkedIn
  • YouTube
  • GitHub

Links

  • API Platform
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks
© 2024 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme