Files
frankenphp/docs/fr
Marc bbbfdb31b5 ci: build .rpm and .deb packages (#1497)
* add ./create-rpm.sh file to build a "frankenphp" rpm package

* also build a deb package

* renamed to build-packages

* linter...

* add depends

* linter again?

* linter number 3

* linter number 4

* set default locations for ini file, conf files and extensions

* set unified path for modules that should be ok on all dists

* add default content into "package" folder

* make file executable

* worker is in public folder

* what on earth did I do x)

* use same FRANKENPHP_VERSION and make sure to let pr's run the rpm generation too (version 0.0.0) to see issues

* install ruby, fpm and rpm-build

* move to after changing base urls because it would fail with packages not found

* ruby 3 build needs gcc 10

* rpm-build is necessary too...

* and I forgot to link the package folder

* create directories if they don't exist

* copy out all frankenphp* files?

* lint fix

* only copy frankenphp-* files

* only copy frankenphp-* files

* the .deb file is name frankenphp_1.5.0... - create output folder instead and upload all things inside that
will simplify things when later adding xdebug.so and ffi.so

* update the last two steps to use the gh-output directory

* add post install script to set frankenphp able to bind to port 80 for non-root users

* dnf over yum, I think the yum alias was removed in RH 9.5

* newlines

* newlines

* add text what missing libcap means

* copy php.ini-production from php-src, linter, update ruby version

* move Caddyfile to /etc/frankenphp/Caddyfile

* linter

* fix a copy and paste error

* better describe fallback to 0.0.0

* linter

* copy installation scripts from official caddy packages, change user to frankenphp too

* bombombom

* make files executable

* tabs

* linter

* linter again

* use empty directory for three different destinations instead of keeping three empty local directories

* caddy says the file is incorrectly formatted without these spaces

* remove wildcard matcher from root directive

* Apply suggestions from code review

commit suggested changes to preinstall/postinstall scripts

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>

* Update dev.Dockerfile

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>

* remove misleading comment

* update documentation for paths

* update documentation for paths some more

* fix musl opcache-jit issue

* markdown linter

* the damn tab

* Apply suggestions from code review

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>

* drop dev.Dockerfile php location from config.md

* add php config note to CONTRIBUTING.md

* dashes instead of asterisks in chinese docs

* fix package building

* create frankenphp user in case it doesn't exist for deb packages

* create users if they don't exist, delete them again if they didn't exist

* satisfy linter

* create the user with the same commands as the postinst/preinstall scripts

* Removes toolchain requirements.

* trigger

* Removes explicit calls to go get

* trigger

* setcap by default

* simplify example project

* bring page more in line with the caddy / apache / nginx default page

* update to html 5

* oopsies

* revert style to original

* remove https:// (caddy uses http:// on RHEL, :80 on Debian)

---------

Co-authored-by: Kévin Dunglas <kevin@dunglas.fr>
Co-authored-by: Alliballibaba <alliballibaba@gmail.com>
2025-05-14 07:33:05 +02:00
..
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2024-05-16 14:42:30 +02:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2024-03-13 22:01:06 +01:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00
2025-04-23 01:02:44 +02:00

FrankenPHP : le serveur d'applications PHP moderne, écrit en Go

FrankenPHP

FrankenPHP est un serveur d'applications moderne pour PHP construit à partir du serveur web Caddy.

FrankenPHP donne des super-pouvoirs à vos applications PHP grâce à ses fonctionnalités à la pointe : Early Hints, mode worker, fonctionnalités en temps réel, HTTPS automatique, prise en charge de HTTP/2 et HTTP/3...

FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Laravel et Symfony plus rapides que jamais grâce à leurs intégrations officielles avec le mode worker.

FrankenPHP peut également être utilisé comme une bibliothèque Go autonome qui permet d'intégrer PHP dans n'importe quelle application en utilisant net/http.

Découvrez plus de détails sur ce serveur dapplication dans le replay de cette conférence donnée au Forum PHP 2022 :

Diapositives

Pour Commencer

Binaire autonome

Si vous préférez ne pas utiliser Docker, nous fournissons des binaires autonomes de FrankenPHP pour Linux et macOS contenant PHP 8.4 et la plupart des extensions PHP populaires.

Sous Windows, utilisez WSL pour exécuter FrankenPHP.

Téléchargez FrankenPHP ou copiez cette ligne dans votre terminal pour installer automatiquement la version appropriée à votre plateforme :

curl https://frankenphp.dev/install.sh | sh
mv frankenphp /usr/local/bin/

Pour servir le contenu du répertoire courant, exécutez :

frankenphp php-server

Vous pouvez également exécuter des scripts en ligne de commande avec :

frankenphp php-cli /path/to/your/script.php

Warning

En production, préférez utiliser les images Docker, le paquet Brew ou compiler FrankenPHP à partir des sources. Le binaire autonome est fourni à des fins de développement et de test.

Docker

Des images Docker sont également disponibles :

docker run -v .:/app/public \
    -p 80:80 -p 443:443 -p 443:443/udp \
    dunglas/frankenphp

Rendez-vous sur https://localhost, c'est parti !

Tip

Ne tentez pas d'utiliser https://127.0.0.1. Utilisez https://localhost et acceptez le certificat auto-signé. Utilisez la variable d'environnement SERVER_NAME pour changer le domaine à utiliser.

Homebrew

FrankenPHP est également disponible sous forme de paquet Homebrew pour macOS et Linux.

Pour l'installer :

brew install dunglas/frankenphp/frankenphp

Pour servir le contenu du répertoire courant, exécutez :

frankenphp php-server

Documentation

Exemples et squelettes