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

  1. Log in op GitHub en maak een nieuwe repository van deze template (Use this template > Create a new repository): Kinsta – Hello World – PHP.
  2. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
  3. Kies de Hello World PHP repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
  4. 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.

Kinsta welkomstpagina na succesvolle deployment van PHP.
Kinsta welkomstpagina na succesvolle deployment van PHP.

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.

  1. Log in op GitHub en maak een nieuwe repository van deze template (Gebruik deze template > Maak een nieuwerepository): Kinsta – Jigsaw Starter.
  2. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Git provider verbinden > Autoriseer, en log in op je GitHub account.
  3. Kies de Jigsaw Starter repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
  4. Klik bij de stap Samenvatting op Deploy later, omdat je de benodigde Buildpacks moet toevoegen voordat je gaat deployen.
  5. 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.
  6. 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.

Jigsaw standaardpagina na succesvolle installatie.
Jigsaw standaardpagina na succesvolle installatie.

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.

  1. Log in op GitHub en maak een nieuwe repository vanuit deze template (Gebruik deze template > Maak een nieuwe repository): Kinsta – Hello World – Laravel.
  2. Laravel vereist dat de APP_KEYomgevingsvariabele is ingesteld. Je kunt zelf lokaal een app key genereren, of je kunt deze online Laravel key generator gebruiken.
  3. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren en log in op je GitHub account.
  4. 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.
  5. 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.
  6. 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.
  7. 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.

Kinsta welkomstpagina na succesvolle deployment van Laravel.
Kinsta welkomstpagina na succesvolle deployment van Laravel.

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.

  1. Voeg een database toe.
  2. 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.
  3. 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 sleutelLaravel sleutel
DB_HOSTDB_HOST
DB_PORTDB_PORT
DB_NAMEDB_DATABASE
DB_USERDB_USERNAME
DB_PASSWORDDB_PASSWORD
DB_CONNECTION_URLDB_URL

Redis

Automatisch gegenereerde sleutelLaravel sleutel
DB_HOSTREDIS_HOST
DB_PORTREDIS_PORT
DB_NAMEREDIS_DB
DB_USERREDIS_USERNAME
DB_PASSWORDREDIS_PASSWORD
DB_CONNECTION_URLREDIS_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.

  1. Log in op GitHub en maak een nieuwe repository vanuit deze template (Use this template > Create a new repository): Kinsta – Hello World – Leaf PHP.
  2. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
  3. Kies de Hello World – Leaf PHP repository en een Datacenter locatie. Laat alle andere instellingen als standaard en klik op Doorgaan bij elke stap.
  4. 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.

Kinsta welkomstpagina na succesvolle installatie van Leaf PHP.
Kinsta welkomstpagina na succesvolle installatie van Leaf PHP.

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.

  1. Log in op GitHub en maak een nieuwe repository van deze template (Gebruik deze template > Maak een nieuwe repository): Kinsta – Statamic Boilerplate.
  2. 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.
  3. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
  4. Kies de Statamic Starter repository en een Datacenter locatie. In Omgevingsvariabelen:
    1. Typ in Key 1APP_KEY, en plak in Value 1 de sleutel die is gegenereerd in Stap 2.
    2. Klik op Add another en vul bij Key 2APP_KINSTA in en bij Value 2true.
    3. Selecteer Beschikbaar tijdens runtime en Beschikbaar tijdens bouwproces.
  5. 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.
  6. 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.
  7. 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.

Statamic welkomstpagina na succesvolle installatie.
Statamic welkomstpagina na succesvolle installatie.

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 op true.

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.

  1. 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.
  2. Klik in MyKinsta op Applicaties > Applicatie toevoegen > selecteer GitHub, klik op Verbind git provider > Autoriseren, en log in op je GitHub account.
  3. 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.
  4. 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.

PHP e-mail die de Hello World pagina verstuurt na een succesvolle installatie.
PHP e-mail die de Hello World pagina verstuurt na een succesvolle installatie.

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.

Was dit artikel nuttig?