frankenphp
frankenphp copied to clipboard
🧟 The modern PHP app server
While continuing the work on #2011, I realized that constant declarations have a problem when using `iota`. I mean, it technically works, but const *blocks* we not supported which means...
### Describe you feature request **Is your feature request related to a problem? Please describe.** There is no easy way to install FrankenPHP with flexibility around adding extensions. I've been...
This captures request cpu (user+system) and peak memory usage similar to FPM and Apache2 SAPIs. To propagate this back to Go we store it in FrankenPHP context first, before retrieving...
### Describe your feature request Every commit to a PR incurs the whole test suite before linting succeeds. I would like to propose that we run the linter first and...
Idea to fix #1737 Just a WIP, to test in CI.
This PR uses `zend_array_dup` to simplify the environment sandboxing logic. It removes the CGO overhead from `$_ENV` and `$_SERVER` registration in regular threads and saves some memory on many threads....
Solve https://github.com/php/frankenphp/issues/1967 I propose this documentation for the ExtensionWorkers API. I have included it in the Extensions section but as the page is becoming quite large (over 1000 lines), would...
### What happened? While testing out a migration from nginx/php-fpm to FrankenPHP, the server crashes with "zend_mm_heap corrupted" after around 8 hours of uptime. This is using the debian package...
This PR is an alternative to #1883. It re-uses the worker logic in a non-http context by skipping globals registration. ```caddfile worker /path/to/non-http-worker.php { http_disabled } ``` ```php // any...