This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| devdays:t3dd24 [2024/07/30 20:53] – admin | devdays:t3dd24 [2024/08/03 09:49] (current) – admin | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== A Modern PHP App Server ====== | ====== A Modern PHP App Server ====== | ||
| - | {{ : | + | {{ : |
| + | |||
| + | ====== The Author ====== | ||
| + | |||
| + | {{: | ||
| ====== The current state ====== | ====== The current state ====== | ||
| Line 30: | Line 34: | ||
| </ul> | </ul> | ||
| </ | </ | ||
| + | |||
| + | {{ : | ||
| ====== Features at a glance ====== | ====== Features at a glance ====== | ||
| Line 73: | Line 79: | ||
| </ul> | </ul> | ||
| </ | </ | ||
| - | |||
| **Configure worker mode:** | **Configure worker mode:** | ||
| Line 88: | Line 93: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | {{ : | ||
| ====== Early Hints 103 ====== | ====== Early Hints 103 ====== | ||
| Line 102: | Line 109: | ||
| </ | </ | ||
| - | ====== Real-Time | + | ====== Real-Time |
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | ====== MercureHub config | ||
| < | < | ||
| Line 210: | Line 222: | ||
| ... | ... | ||
| </ | </ | ||
| + | |||
| + | ====== Prometheus Server ====== | ||
| + | |||
| + | Scrape the metrics provided by FrankenPHP: | ||
| + | |||
| + | |||
| + | prometheus.yml: | ||
| + | <code yml> | ||
| + | scrape_configs: | ||
| + | - job_name: ' | ||
| + | metrics_path: | ||
| + | static_configs: | ||
| + | - targets: [ " | ||
| + | </ | ||
| + | |||
| ====== Graceful Reload ====== | ====== Graceful Reload ====== | ||
| Line 220: | Line 247: | ||
| ====== Create a self-contained binary ====== | ====== Create a self-contained binary ====== | ||
| - | |||
| - | !!! TEST !!! | ||
| Wrap your PHP application into a self-contained binary. | Wrap your PHP application into a self-contained binary. | ||
| Line 239: | Line 264: | ||
| Create the self-contained binary using Docker: | Create the self-contained binary using Docker: | ||
| < | < | ||
| - | docker build -t static-app -f static-build.Dockerfile . | + | docker build -t static-app -f static-build.Dockerfile . --load |
| </ | </ | ||
| + | |||
| + | Extract the binary (frankenphp-mac-arm64) | ||
| + | |||
| + | < | ||
| + | docker cp $(docker create --name static-app-tmp static-app):/ | ||
| + | </ | ||
| + | |||
| ====== Run FrankenPHP ====== | ====== Run FrankenPHP ====== | ||
| Line 268: | Line 300: | ||
| ====== TYPO3 integration ====== | ====== TYPO3 integration ====== | ||
| - | |||
| - | Describe what we've got so far and what is missing | ||
| < | < | ||
| <ul> | <ul> | ||
| < | < | ||
| - | < | ||
| < | < | ||
| + | < | ||
| </ul> | </ul> | ||
| </ | </ | ||
| - | ====== | + | **Feature idea:** |
| + | |||
| + | Using GoRoutines to run e.g. the TYPO3 MessageBus (symfony/ | ||
| + | |||
| + | |||
| + | ====== | ||
| + | |||
| + | Join the Chat | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Demo: https:// | ||
| + | |||
| + | Code: https:// | ||
| - | https://franky.knallimall.org/ | + | Docs: https://frankenphp.dev/docs/ |