PHP
Dit artikel bevat voorbeelden van hoe je de volgende PHP applicaties kunt instellen om te deployen op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository:
Vereisten
- Kinsta’s Quickstart templates worden opgeslagen en beheerd in GitHub; daarom heb je een GitHub account nodig om er toegang toe te krijgen.
- Je moet een MyKinsta account aanmaken om de applicatie te deployen.
PHP
- Log in op GitHub en maak een nieuwe repository van deze template (Use this template > Create a new repository): Kinsta – Hello World – PHP.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World PHP repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
- Klik bij de stap Samenvatting op Deploy nu.
Tijdens de deployment detecteert Kinsta automatisch het startcommando voor het webproces en installeert de dependencies die zijn gedefinieerd in je composer.json bestand. De app is beschikbaar zodra de deployment is voltooid en de Kinsta Welkomstpagina wordt geladen op de URL van je applicatie.
Bekijk je liever de videoversie?
Webserver instellen
Kinsta configureert automatisch een Apache webserver die je index.php bestand op de gebruikelijke manier serveert vanuit de hoofdmap van het project. Maak een index.php bestand in je projectmap als je standaard indexpagina.
Jigsaw
Dit is een voorbeeld van hoe je een statische site opzet met Jigsaw op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository.
Jigsaw is een statisch websiteframework dat Leafe templates gebruikt om je paginalayouts te maken en Markdown om je inhoud binnen de templates op te bouwen, zodat je eenvoudige statische sites kunt maken zonder ingewikkelde coderingskennis. Meer informatie is beschikbaar op de Jigsaw website.
- Log in op GitHub en maak een nieuwe repository van deze template (Gebruik deze template > Maak een nieuwerepository): Kinsta – Jigsaw Starter.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Git provider verbinden > Autoriseer, en log in op je GitHub account.
- Kies de Jigsaw Starter repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
- Klik bij de stap Samenvatting op Deploy later, omdat je de benodigde Buildpacks moet toevoegen voordat je gaat deployen.
- Zodat de applicatie de CSS/JS bestanden kan bouwen, moet je twee buildpacks toevoegen: Node.js en PHP. Klik op Settings > Add buildpack, selecteer Node.js > Add buildpack. Herhaal dit voor PHP.
- Klik op Deployments > Deploy nu > kies de gewenste branch > Deploy applicatie.
Jigsaw is gebaseerd op Laravel; het is een gewone op PHP gebaseerde applicatie, dus tijdens het uitrollen detecteert Kinsta automatisch het Startcommando voor het webproces en installeert de dependencies die zijn gedefinieerd in je composer.json bestand. De app is beschikbaar zodra de deployment is voltooid en een standaard Jigsaw pagina wordt geladen op de URL van je applicatie.
Buildpacks
In de meeste gevallen wil je dat de applicatie de CSS/JS bestanden bouwt, dus moet je deze twee Buildpacks toevoegen:
- Node JS
- PHP
Webserver instellen
Start commando
Wanneer je de applicatie deployt, maakt Kinsta automatisch een webproces aan met npm start
als startcommando. Indien nodig kun je dit binnen Processen wijzigen.
Laravel
Dit is een voorbeeld van hoe je een Laravel applicatie kunt instellen om te deployen op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository.
- Log in op GitHub en maak een nieuwe repository vanuit deze template (Gebruik deze template > Maak een nieuwe repository): Kinsta – Hello World – Laravel.
- Laravel vereist dat de
APP_KEY
omgevingsvariabele is ingesteld. Je kunt zelf lokaal een app key genereren, of je kunt deze online Laravel key generator gebruiken. - Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren en log in op je GitHub account.
- Kies de Hello World Laravel repository en een Datacenter locatie. Voer bij Omgevingsvariabelen, bij Sleutel 1,
APP_KEY
in, en plak bij Waarde 1 de sleutel die is gegenereerd bij Stap 2, selecteer Beschikbaar tijdens runtime en Beschikbaar tijdens bouwproces. - Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap. Klik in de stap Samenvatting op Later uitrollen om de benodigde Buildpacks toe te voegen voordat je gaat uitrollen.
- Zodat de applicatie de CSS/JS bestanden kan bouwen, moet je twee buildpacks toevoegen: Node.js en PHP. Klik op Settings > Add buildpack, selecteer Node.js > Add buildpack. Herhaal dit voor PHP.
- Klik op Deployments > Deploy nu > kies de gewenste branch > Deploy applicatie.
Laravel is een gewone op PHP gebaseerde applicatie, dus tijdens het uitrollen detecteert Kinsta automatisch het startcommando voor het webproces en installeert de dependencies die zijn gedefinieerd in je composer.json bestand. De app is beschikbaar zodra de deployment is voltooid en een standaard Jigsaw pagina wordt geladen op de URL van je applicatie.
Bekijk je liever de videoversie?
Een database koppelen
Als je je applicatie aan een database wilt koppelen, begin dan met het maken van een database in hetzelfde datacenter als waar je applicatie staat.
- Voeg een database toe.
- Verbind de database met de applicatie door een interne verbinding toe te voegen en het selectievakje Omgevingsvariabelen toevoegen… te selecteren. Hierdoor worden de omgevingsvariabelen automatisch ingevuld vanuit de database.
- Sommige van de variabele namen (sleutels) die Laravel gebruikt verschillen van de namen die automatisch worden aangemaakt in MyKinsta. Bewerk de variabelensleutels waar nodig zodat ze overeenkomen met de variabelennamen die zijn gedefinieerd in Laravels database.php bestand. Hieronder staan de bijbehorende variabele namen (sleutels) voor de databasetypen die Laravel ondersteunt.
Omgevingsvariabelen
MySQL en PostgreSQL
Automatisch gegenereerde sleutel | Laravel sleutel |
DB_HOST | DB_HOST |
DB_PORT | DB_PORT |
DB_NAME | DB_DATABASE |
DB_USER | DB_USERNAME |
DB_PASSWORD | DB_PASSWORD |
DB_CONNECTION_URL | DB_URL |
Redis
Automatisch gegenereerde sleutel | Laravel sleutel |
DB_HOST | REDIS_HOST |
DB_PORT | REDIS_PORT |
DB_NAME | REDIS_DB |
DB_USER | REDIS_USERNAME |
DB_PASSWORD | REDIS_PASSWORD |
DB_CONNECTION_URL | REDIS_URL |
Laravel APP_KEY
Laravel vereist dat de APP_KEY
omgevingsvariabele is ingesteld. Als deze sleutel niet is ingesteld, krijg je een 500 error pagina te zien die wordt geserveerd door Laravel. Je kunt zelf lokaal een app key genereren, of je kunt de online Laravel key generator gebruiken. Als je eenmaal een sleutel hebt, kun je deze toevoegen als omgevingsvariabele.
Buildpacks
In de meeste gevallen wil je dat de applicatie de CSS/JS bestanden bouwt, dus moet je deze twee Buildpacks toevoegen:
- Node.js
- PHP
Het buildpack dat de primaire taal van je applicatie bevat, moet de laatste zijn in de lijst met buildpacks. In dit voorbeeld is PHP de primaire taal en moet het de laatste buildpack in de lijst zijn.
Webserver instellen
Start commando
Het standaard webproces is heroku-php-apache2
. Dit voorbeeld bevat een .htaccess bestand dat alle verzoeken omleidt naar public/index.php voor Laravel. Indien nodig kun je dit commando wijzigen bij het toevoegen van je applicatie(Processen instellen) of op de pagina Processen van de applicatie na de deployment. Je kunt gebruiken:
heroku-php-apache2 /public
of
php artisan serve --host 0.0.0.0 --port 8080
Leaf
Dit is een voorbeeld van hoe je een Leaf PHP applicatie kunt instellen om te deployen op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository.
Leaf is een lean en lichtgewicht PHP framework gericht op de ervaring van developers, gebruiksvriendelijkheid en krachtige code. Meer informatie is beschikbaar op de Leaf PHP website.
- Log in op GitHub en maak een nieuwe repository vanuit deze template (Use this template > Create a new repository): Kinsta – Hello World – Leaf PHP.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World – Leaf PHP repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
- Klik bij de stap Samenvatting op Deploy nu.
Tijdens de deployment detecteert Kinsta automatisch het startcommando voor het webproces en installeert de dependencies die zijn gedefinieerd in je composer.json bestand. De app is beschikbaar zodra de deployment is voltooid en de Kinsta Welkomstpagina wordt geladen op de URL van je applicatie.
Bekijk je liever de videoversie?
Webserver instellen
Poort
Kinsta stelt automatisch de omgevingsvariabele PORT
in. Je moet deze niet zelf definiëren en je moet deze niet hard coderen in de applicatie.
Start commando
Bij het deployen van de applicatie maakt Kinsta automatisch een webproces aan dat draait op heroku-php-apache2
.
Deployment levenscyclus
Telkens wanneer een uitrol wordt gestart (door het maken van een applicatie of het opnieuw uitrollen als gevolg van een inkomende commit), wordt het commando composer install
uitgevoerd.
Statamic
Dit is een voorbeeld van hoe je een Statamic applicatie instelt om te deployen op Kinsta’s Applicatie Hosting diensten vanuit een GitHub repository.
Statamic is een flat-file CMS dat standaard alle gegevens opslaat in de Git repository. Voordat je de code naar MyKinsta pusht, is het lokaal installeren van Statamic de aanbevolen aanpak voor het maken en onderhouden van je site. Vervolgens maak je een super gebruikersaccount aan en commit en push je alle wijzigingen naar de repository.
- Log in op GitHub en maak een nieuwe repository van deze template (Gebruik deze template > Maak een nieuwe repository): Kinsta – Statamic Boilerplate.
- Statamic is gebaseerd op Laravel, dus de
APP_KEY
omgevingsvariabele moet worden ingesteld. Je kunt zelf lokaal een app key genereren, of je kunt deze online Laravel key generator gebruiken. - Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Statamic Starter repository en een Datacenter locatie. In Omgevingsvariabelen:
- Typ in Key 1
APP_KEY
, en plak in Value 1 de sleutel die is gegenereerd in Stap 2. - Klik op Add another en vul bij Key 2
APP_KINSTA
in en bij Value 2true
. - Selecteer Beschikbaar tijdens runtime en Beschikbaar tijdens bouwproces.
- Typ in Key 1
- Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap. Klik in de stap Samenvatting op Later uitrollen om de benodigde Buildpacks toe te voegen voordat je gaat uitrollen.
- Zodat de applicatie de CSS/JS bestanden kan bouwen, moet je twee buildpacks toevoegen: Node.js en PHP. Klik op Settings > Add buildpack, selecteer Node.js > Add buildpack. Herhaal dit voor PHP.
- Klik op Deployments > Deploy nu > kies de gewenste branch > Deploy application.
Statamic is gebaseerd op Laravel; het is een gewone op PHP gebaseerde applicatie, dus tijdens het uitrollen detecteert Kinsta automatisch het startcommando voor het webproces en installeert de dependencies die zijn gedefinieerd in je composer.json bestand. De app is beschikbaar zodra de deployment is voltooid en de Statamic welkomstpagina wordt geladen op de URL van je applicatie.
Bekijk je liever de videoversie?
Omgevingsvariabelen
Statamic vereist dat de volgende omgevingsvariabelen zijn ingesteld:
APP_KEY
– Je kunt zelf lokaal een app key genereren, of je kunt de online Laravel key generator gebruiken.APP_KINSTA
– ingesteld optrue
.
Buildpacks
In de meeste gevallen wil je dat de applicatie de CSS/JS bestanden bouwt, dus moet je deze twee Buildpacks toevoegen:
- Node.js
- PHP
Het buildpack dat de primaire taal van je applicatie bevat, moet de laatste zijn in de lijst met buildpacks. In dit voorbeeld is PHP de primaire taal en moet het de laatste buildpack in de lijst zijn.
Webserver instellen
Start commando
Het standaard webproces is heroku-php-apache2 public/
. Indien nodig kun je dit commando wijzigen bij het toevoegen van je applicatie (Processen instellen) of op de pagina Processen van de applicatie na de deployment.
PHP om e-mails te versturen
Dit is een voorbeeld van hoe je een PHP applicatie instelt om e-mails te versturen via SendGrid op Kinsta’s Applicatie Hosting diensten, geïmplementeerd vanuit een GitHub repository.
Kinsta ondersteunt van zichzelf geen uitgaande e-mails vanaf servers. Het verzenden van e-mails via gespecialiseerde uitgaande providers zoals SendGrid of Mailchimp biedt meer flexibiliteit en hogere slagingspercentages voor transactie- en campagne-e-mails.
- Log in op GitHub en maak een nieuwe repository van deze template (Use this template > Create a new repository): Kinsta – Hello World – Send emails with PHP.
- Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
- Kies de Hello World Email PHP repository en een Datacenter locatie. In Omgevingsvariabelen voeg je het volgende toe:
SENDGRID_API_KEY
: De API sleutel van SendGrid.TEST_EMAIL_TO_ADDRESS
: Het adres waar de testmail naartoe gestuurd moet worden.TEST_EMAIL_FROM_ADDRESS
: Het adres om de test e-mail vanaf te versturen.TEST_ENDPOINT
: Het endpoint dat moet worden gebruikt als trigger om de testmail te versturen. Gebruik een willekeurige tekenreeks van ten minste 8 tekens.
- Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap. Klik bij de stap Samenvatting op Deploy nu.
De app is beschikbaar zodra het uitrollen is voltooid en een Hello World pagina wordt geladen op de URL van je applicatie.
Een e-mail triggeren
Via een heel eenvoudig index.php invoerpunt worden twee endpoints weergegeven; alle andere retourneren een 404:
/
: Een eenvoudige pagina die het Hello World bericht terugstuurt/${TEST_ENDPOINT}
: Een pagina die een testmail triggert.
Om een e-mail te triggeren, zoek je de URL van je deployment op de Deployments pagina, voeg je je test endpoint toe aan deze URL en bezoek je de pagina. Bijvoorbeeld, als je TEST_ENDPOINT
hebt ingesteld op o34nifnodhni4of
en je laatste deployment staat op https://example.kinsta.app, dan kun je een testmail starten vanaf https://example.kinsta.app/o34nifnodhni4of in je browser.