Gebruik deze checklist om te controleren of je Symfony-applicatie correct is geconfigureerd voor de productieomgeving.
OPcache is een PHP-extensie die je PHP-code als gecompileerde bytecode
cached zodat je code niet voor elk request opnieuw hoeft worden geïnterpreteerd.
Sinds 8.5 is OPcache standaard onderdeel van PHP. Voor oudere versies moet de extensie soms eerst geïnstalleerd worden.
Controleer de volgende configuratiewaarden, bijvoorbeeld via phpinfo() of in php.ini:
opcache.enable = 1)opcache.preload bevat het volledige pad naar Symfony's config/preload.php)opcache.preload_user bevat de naam van de webserver user (meestal www-data)opcache.memory_consumption is 256 of hogeropcache.max_accelerated_files is 32531 of hogeropcache.validate_timestamps = 0Zie Runtime Configuration voor alle configuratieopties van OPcache.
Relatieve bestandspaden worden door PHP omgezet naar absolute paden en het resultaat daarvan wordt gecached in de "realpath cache". Controleer of deze cache goed staat ingesteld:
realpath_cache_size is 4096K of hogerrealpath_cache_ttl is 600 seconden (10 minuten) of langerControleer de volgende configuratiewaarden in Symfony:
framework.enabled_locales (meestal te vinden in config/packages/translation.yaml) is geconfigureerd met alleen
de locales die in de applicatie gebruikt worden.container.dumper.inline_factories: true is toegevoegd als parameter in config/services.yamlControleer bovendien de volgende configuratiewaarden indien Doctrine ORM wordt gebruikt (meestal te vinden in
config/packages/doctrine.yaml):
doctrine.dbal.server_version (of de serverVersion parameter in de DATABASE_URL environment variable) is
ingesteld en bevat de database-versie die in productie draaitdoctrine.orm.query_cache_driverdoctrine.orm.result_cache_driverZie ook: Caching Drivers.
Controleer het build/deploymentproces van je applicatie:
composer dump-autoload --no-dev --classmap-authoritative)Zie ook: Performance.
composer audit)www-data) heeft geen rechten om de bronbestanden van de applicatie aan te passen,
alleen om te lezenpublic directory bevat geen bestanden met gevoelige informatie (zoals een .env)Als de applicatie achter een load balancer of reverse proxy draait (bijvoorbeeld een ingress controller in een Kubernetes cluster), controleer dan ook het volgende:
SYMFONY_TRUSTED_PROXIES environment
variable of via framework.trusted_proxies (meestal in config/packages/framework.yaml)Zie ook: How to Configure Symfony to Work behind a Load Balancer or a Reverse Proxy.
templates/bundles/TwigBundle/Exception/)Zie: How to Customize Error Pages.
robots.txt bestand in de public directory