Taal Frankfurt, Duitsland
Nodion herkent een PHP-app aan composer.json. Het PHP-buildpack installeert je dependencies met Composer en serveert de app met FrankenPHP vanuit public/; heb je dat liever, dan draait in plaats daarvan php-fpm achter nginx of Apache. De app draait in Frankfurt, naast een managed MySQL- of PostgreSQL-database als je die nodig hebt.
composer.json in de Base directorycomposer.json. Een repository met alleen een index.php wordt niet herkend; heb je nog geen composer.json, dan volstaat een klein bestand zoals dit. De build voert composer install --no-dev --optimize-autoloader uit, dus alles wat de app tijdens runtime nodig heeft, hoort in require, niet in require-dev. Commit composer.lock, zodat de build de versies installeert die je hebt getest. composer.json {
"require": {
"php": "8.4.*"
}
} public/ als documentroot. Ontbreekt die map, dan neemt Nodion web/, en ontbreken beide, de root van de repository. Zet index.php en je assets in public/ en houd vendor/, configuratie en broncode ernaast, zodat alleen bestanden worden geserveerd die voor het web bedoeld zijn. composer.json
composer.lock
src/
public/
index.php BP_PHP_SERVER toe met de waarde nginx of apache en vink je Build aan. Apache leest ook je .htaccess-bestanden. Met elke andere waarde mislukt de build. DATABASE_URL bij de volgende deployment, alleen tijdens runtime. Markeer wachtwoorden en API-sleutels als secret. release:-regel in een Procfile draait één keer per build, na de build en voordat de nieuwe versie start. Mislukt die, dan stopt de deployment en blijft de draaiende versie live. Zet de migratietool, bijvoorbeeld Doctrine Migrations of Phinx, in require. Procfile release: vendor/bin/doctrine-migrations migrate --no-interaction .php-version, daarna require.php in composer.json; zonder een van beide krijg je PHP 8.3. Een bereik kiest de nieuwste passende release, dus "^8.2" levert PHP 8.5 op. Wil je op één versielijn blijven, zet dan 8.3 in .php-version of vereis "8.3.*".bin/console plus symfony.lock, voert tijdens de build bin/console cache:warmup --env=prod uit en zet tijdens runtime APP_ENV=prod en APP_DEBUG=0. Voeg APP_ENV=prod ook toe met de vlag Build, zodat de Composer-scripts die tijdens de installatie draaien niet dev uit je .env gebruiken. Nodion voert asset-map:compile niet uit; gebruik je AssetMapper, voeg het dan toe aan de auto-scripts in composer.json. Gebruik voor builds met Encore of Vite een Dockerfile.worker: php bin/worker.php toe aan het Procfile, samen met een expliciete web:-regel, want zonder die regel wordt de eerste Procfile-regel die geen release: is het standaardcommando. Het buildlog laat zien met welk commando de app standaard start; voor FrankenPHP werkt web: frankenphp php-server --listen :$PORT --root public/. Voeg daarna op het tabblad Processes een proces met de naam worker zonder poort toe./ antwoordt met 2xx of 3xx. Antwoordt / met 401 of 404, stel dan in de app-instellingen een pad voor de health check in dat 200 teruggeeft.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Ja. Nodion herkent PHP alleen aan composer.json; een bestand dat niets anders dan PHP vereist, is genoeg. Zet de PHP-bestanden die je wilt serveren in public/.
Ja. Stel BP_PHP_SERVER=nginx of BP_PHP_SERVER=apache in als Build-variabele, dan draait Nodion php-fpm achter nginx of Apache httpd. Zonder die variabele serveert FrankenPHP de app.
PHP 8.2, 8.3, 8.4 en 8.5, met 8.3 als standaard. Zet er een vast in .php-version of composer.json. Vraag je een versie die Nodion niet meer aanbiedt, dan mislukt de build met een duidelijke melding in plaats van stilletjes over te schakelen.
Nee. Het PHP-buildpack installeert PHP, Composer en de webserver voor je. Staat er een Dockerfile in je repository, dan kiest het aanmaakformulier die strategie en bouwt Nodion in plaats daarvan de Dockerfile.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 2 EUR per maand: App 2 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.