Replies

This profile is from a federated server and may be incomplete. Browse more on the original instance.

ramsey, to Kubernetes
@ramsey@phpc.social avatar

I’m interested in running (i.e., ) as the app server for a website. The website has multiple domains pointing to it, and I plan to run this in a cluster. Can someone point to any docs or blog posts that show how others have set up similar configurations with Caddy or FrankenPHP, especially with regard to how Caddy magically configures HTTPS for the domains in this kind of setup?

dunglas,
@dunglas@mastodon.social avatar

@ramsey to do so, you’ll have to either expose Caddy using a K8s Load Balancer, or to use Caddy/FrankenPHP as a K8s ingress controller (https://github.com/caddyserver/ingress).

Another option is to let your existing ingress controller do the TLS termination (you can use projects cert-manager to automatically manage the certificates, and many cloud ingresses also have native support Let’s Enctypt or automatic cert generation).

dunglas, to random French
@dunglas@mastodon.social avatar

Are you using #FrankenPHP in production? Please let us know!

dunglas,
@dunglas@mastodon.social avatar

@Skoop Nice! Thanks. Could you share the name of the project or could we use the name of your company in the reference list we are creating?

dunglas,
@dunglas@mastodon.social avatar

@shochdoerfer @bitexpert great! would you be able to share the names of the customers? We’re gathering a user list.

dgoosens, (edited ) to php
@dgoosens@phpc.social avatar

OK... here is a question ( but other communities are welcome to comment.

When building a decoupled app, do you consider the usage of something like
ClassWithAnnoyingName::class
(not to call the class, but to reference the name as a string and to simply avoid to type it out) as coupling?

IMHO, it is not

  • it is very trivial to replace with its string value if needed
  • it greatly improves DX
  • it greatly reduces errors because of typos

But what do you think ? And why ?

dunglas,
@dunglas@mastodon.social avatar

@dgoosens my 2 cents: it's ok in an application, but probably a sign of the lack of an extension point to do control inversion in a library.

dunglas, (edited ) to php
@dunglas@mastodon.social avatar

Tonight at the @afup meetup, I'll be explaining how to debug the most bizarre problems in your applications. I'll take the opportunity to explain in an accessible way (I hope) how the execution engine of the venerable language that powers the web works.

Case in point: I'll show you how to use these techniques to find and fix a bug in... a debugger (in this case, Xdebug).

No need to know C (or even PHP) to attend this live coding session!

https://www.meetup.com/afup-hauts-de-france-php/events/300011985/

dunglas,
@dunglas@mastodon.social avatar

@derickr @afup Unfortunately, this will not be recorded, but I will likely submit a longer version of this presentation at a conference.

About Xdebug, I'll mostly explain step by step how - with your help (thanks!!) - we crafted this patch: https://github.com/xdebug/xdebug/pull/958

dunglas, to random French
@dunglas@mastodon.social avatar

Most free and open-source software is supplied "as is", with no guarantee of maintenance. Want more? Pay for it, or fork it and go it alone.

https://x.com/robmen/status/1774067844785086775

dunglas,
@dunglas@mastodon.social avatar

@pierstoval as long as the license allows me to fork, I’m fine with that.

Software maintained by a large non-commercial entity or by a co-op is the best (but is often not enough to fix the free labor problem), but commercially supported MIT-like software is still way better than proprietary software.

somnambula, to Symfony

@dunglas couple of days ago there was PR for 2.7.17 release of api-platform/core, which failed all tests in CI, but still was merged and broke a lot of CI/CDs including the one in my project. Literally any composer update. Any help needed?

💡api-platform/core contribution guideline:
https://github.com/api-platform/core/blob/main/CONTRIBUTING.md

🛠 github issue:
https://github.com/api-platform/core/issues/6226

dunglas,
@dunglas@mastodon.social avatar
dunglas, to random
@dunglas@mastodon.social avatar

The @ApiPlatform distribution and Symfony Docker now use the Debian variant of FrankenPHP (instead of Alpine). Using glibc prevents some subtle PHP bugs and improves performance.

This release of the API Platform distribution also contains many fixes.

https://github.com/api-platform/api-platform/releases/tag/v3.2.16

dunglas,
@dunglas@mastodon.social avatar

I added documentation to explain how to switch from @debian images to @alpinelinux images. TL;DR: it's straightforward!

https://github.com/dunglas/symfony-docker/blob/main/docs/alpine.md

dunglas, to random
@dunglas@mastodon.social avatar

🇨🇳🇫🇷 The FrankenPHP website is now available in Chinese and French! We also took the opportunity to slightly improve the English documentation.

Many thanks to Pierre Clavequin, his team, and @Ginifizz for these translations!

https://frankenphp.dev/

dunglas,
@dunglas@mastodon.social avatar

@Skoop @dunglas no, but that would be great!

dunglas, to random
@dunglas@mastodon.social avatar

From 113MB to 39MB! FrankenPHP Linux binaries have been slimmed down thanks to UPX 🤩

dunglas,
@dunglas@mastodon.social avatar
dunglas, to random
@dunglas@mastodon.social avatar

🧟 I've just released FrankenPHP 1.1! This version adds a bunch of new features including:

  • Brotli compression
  • apache_* PHP functions
  • custom php.ini and Caddyfile for standalone apps

Stability, performance, and documentation have also been greatly improved.

I'll showcase some of these features tomorrow during my talk at LaraconEU ⚡️

https://github.com/dunglas/frankenphp/releases/tag/v1.1.0

dunglas,
@dunglas@mastodon.social avatar

@rubenrubiob @dunglas currently there is no way to restart the worker automatically when a file changes (unless you use Laravel Octane, which has custom code for that). Adding such feature is on my todo list for the next version! This could improve the developer experience, but indeed for performance what matters is that you enable the worker mode in prod.

dunglas, (edited ) to random
@dunglas@mastodon.social avatar

🎄🧟🎅 Here's my Christmas present: FrankenPHP 1.0.2 is out!

Most of the changes are related to static binaries:

  • A Linux ARM build is available
  • sodium and igbinary PHP extensions are now included
  • Redis extension now supports LZ4 compression

🎁 https://github.com/dunglas/frankenphp/releases/tag/v1.0.2

dunglas,
@dunglas@mastodon.social avatar

If you like the Franken Santa mascot (by @Ginifizz, as usual), don't hesitate to buy merchandise to support the project! https://frankenphp.dev/shop/

dunglas, to random
@dunglas@mastodon.social avatar

My top languages in 2023:

  1. C
  2. PHP
  3. Go

https://githubunwrapped.com/dunglas

dunglas,
@dunglas@mastodon.social avatar

20 years later, I'm again mainly using the first programming language I learned. Just goes to show, the basics never go out of date!

dunglas, to random
@dunglas@mastodon.social avatar

One weekend after the launch of its version 1.0, has already reached 4,000 stars on GitHub 🤩🐘.

Want to help the project? Give it a star (contributions, feedback, and sponsorships are also welcome 😅)!

https://github.com/dunglas/frankenphp

dunglas,
@dunglas@mastodon.social avatar

@Skoop thanks 🤗

dunglas, to random
@dunglas@mastodon.social avatar

New FrankenPHP feature: package your PHP apps as standalone, self-executable binaries. https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/

dunglas,
@dunglas@mastodon.social avatar

@ramsey @dgoosens by the way Caddyfile syntax is entirely optional. This is the simplified configuration format, but it’s converted to JSON and it’s possible to use JSON instead of Caddyfile if you prefer.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • thenastyranch
  • magazineikmin
  • ethstaker
  • GTA5RPClips
  • InstantRegret
  • rosin
  • love
  • Youngstown
  • slotface
  • khanakhh
  • kavyap
  • everett
  • DreamBathrooms
  • megavids
  • osvaldo12
  • tester
  • cisconetworking
  • tacticalgear
  • ngwrru68w68
  • Durango
  • cubers
  • mdbf
  • normalnudes
  • anitta
  • modclub
  • Leos
  • JUstTest
  • All magazines