EXEMPLES

De vraies applications, vérifiées de bout en bout

De Laravel à WordPress sur OxPHP — chaque recette est un projet Docker Compose autonome : Dockerfile, fichier compose, commandes d'installation et les détails que la documentation écrite pour nginx + PHP-FPM ne couvre pas.

Laravel

L'application canonique en mode framework.

PHP
8.5
Mode de routage
Framework
Services
MySQL
Installation
composer create-project
environment · docker-compose.yml
ENTRY_FILE=index.php
INTERNAL_ADDR=0.0.0.0:9090
ACCESS_LOG=all
Notes

ENTRY_FILE=index.php sélectionne le mode framework : public/ devient la racine des documents, de sorte que .env, app/ et vendor/ ne sont jamais accessibles via HTTP.

L'environnement du conteneur a la priorité sur .env — le chargeur dotenv de Laravel ne remplace jamais les vraies variables d'environnement, de sorte que DB_HOST et APP_ENV définis dans Compose l'emportent.

L'image de développement revalide OPcache à chaque requête ; les modifications sur le répertoire src/ monté en bind s'appliquent instantanément.

Built on the published image

Every Dockerfile copies the oxphp binary, liboxphp_bridge.so and the SAPI extension from ghcr.io/oxphp/oxphp. The PHP ABI must match: compile your app's extensions against the same php:<X.Y>-zts-alpine.

Routing mode follows the app's shape

One front controller under public/ → framework mode. Several physical entry points → traditional mode. One decision replaces the whole nginx rewrite file.

Security defaults, no config

Dot-path blocking 404s .env and .git/ everywhere; PHP_DENY_PATHS hardens upload dirs in traditional mode; SYMLINK_ALLOW_PATHS allows only deliberate symlink escapes.

Install through the same container

The dev image carries the PHP CLI and Composer: artisan, drush, wp and bin/magento all run via docker compose exec — no separate toolchain.

Votre stack n'est pas dans la liste ?

Toute application dotée d'un contrôleur frontal fonctionne en mode framework — partez de la recette Laravel et ajustez trois variables.