User Tools

Site Tools


devdays:t3dd24

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
devdays:t3dd24 [2024/07/29 21:51] admindevdays:t3dd24 [2024/08/03 09:49] (current) admin
Line 3: Line 3:
 ====== A Modern PHP App Server ====== ====== A Modern PHP App Server ======
  
-{{ :devdays:frankenphp.png?600 |}}+{{ :devdays:frankenphp.png?1000 |}}
  
 +
 +====== The Author ======
 +
 +{{:devdays:bildschirmfoto_2024-08-03_um_09.11.44.png?1200|}}
  
 ====== The current state ====== ====== The current state ======
Line 30: Line 34:
 </ul> </ul>
 </html> </html>
 +
 +{{ :devdays:elephant_footer.png?400 |}}
  
 ====== Features at a glance ====== ====== Features at a glance ======
Line 73: Line 79:
 </ul> </ul>
 </html> </html>
- 
  
 **Configure worker mode:** **Configure worker mode:**
Line 88: Line 93:
 } }
 </code> </code>
 +
 +{{ :devdays:memory-leak.webp |}}
 +
 +====== Early Hints 103 ======
 +
 +Allow the browser to download resources or preconnect to a site before
 +the final response was sent.
 +
 +<code>
 +header('Link: </style.css>; rel=preload; as=style');
 +headers_send(103);
 +
 +// Do sluggish stuff 🐌
 +
 +</code>
 +
 +====== Real-Time - MercureHub ======
 +
 +{{ :devdays:mercure-hub.png?1200 |}}
  
  
-====== Real-Time using MercureHub ======+====== MercureHub config ======
  
 <html> <html>
Line 198: Line 222:
 ... ...
 </code> </code>
 +
 +====== Prometheus Server ======
 +
 +Scrape the metrics provided by FrankenPHP:
 +
 +
 +prometheus.yml:
 +<code yml>
 +scrape_configs:
 +  - job_name: 'franky'
 +    metrics_path: '/metrics'
 +    static_configs:
 +      - targets: [ "localhost:2019" ]
 +</code>
 +
  
 ====== Graceful Reload ====== ====== Graceful Reload ======
Line 208: 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 227: Line 264:
 Create the self-contained binary using Docker: Create the self-contained binary using Docker:
 <code> <code>
-docker build -t static-app -f static-build.Dockerfile .+docker build -t static-app -f static-build.Dockerfile . --load
 </code> </code>
 +
 +Extract the binary (frankenphp-mac-arm64)
 +
 +<code>
 +docker cp $(docker create --name static-app-tmp static-app):/go/src/app/dist/frankenphp-linux-x86_64 my-app ; docker rm static-app-tmp
 +</code>
 +
  
 ====== Run FrankenPHP ====== ====== Run FrankenPHP ======
Line 256: Line 300:
  
 ====== TYPO3 integration ====== ====== TYPO3 integration ======
- 
-Describe what we've got so far and what is missing 
  
 <html> <html>
 <ul> <ul>
 <li>MercureHub</li> <li>MercureHub</li>
-<li>WorkerMode</li> 
 <li>Prometheus</li> <li>Prometheus</li>
 +<li>WorkerMode (works, but has issues)</li>
 </ul> </ul>
 </html> </html>
  
-====== Lets have a look ======+**Feature idea:** 
 + 
 +Using GoRoutines to run e.g. the TYPO3 MessageBus (symfony/messenger) and the Scheduler 
 + 
 + 
 +====== Let'have a look ====== 
 + 
 +Join the Chat 
 + 
 +{{ :devdays:qr-code.svg?400 |}} 
 + 
 +Demo: https://franky.knallimall.org/ 
 + 
 +Code: https://gitlab.knallimall.org/ochorocho/franky
  
-https://franky.knallimall.org/+Docs: https://frankenphp.dev/docs/
devdays/t3dd24.1722289901.txt.gz · Last modified: 2024/07/29 21:51 by admin