Dette er et eksempel på, hvordan du konfigurerer en Laravel-applikation til implementering på Kinstas Applikation Hosting-tjenester fra et GitHub-repository.

Laravel er en almindelig PHP-baseret applikation, så under implementeringsprocessen installerer Kinsta automatisk de afhængigheder, der er defineret i din composer.json-fil.

  1. Log ind på GitHub og opret et nyt repository fra denne skabelon (Brug denne skabelon > Opret et nyt repository): Kinsta – Hello World – Laravel.
  2. Laravel kræver, at miljøvariablen APP_KEY er indstillet. Du kan selv generere en app-nøgle lokalt, eller du kan bruge denne online Laravel-nøglegenerator.
  3. I MyKinsta skal du tilføje en applikation med Hello World Laravel-repositoriet. I Miljøvariabler skal du i Key 1 indtaste APP_KEY, og i Value 1 indsætte den nøgle, der er genereret fra trin 2, vælg Available during runtime og Available during build process.
  4. Start-kommandoen kan efterlades tom for webprocessen, da Kinsta automatisk registrerer den nødvendige kommando under den første implementering.
    Bemærk: Den første implementering kan mislykkes, fordi du skal tilføje de nødvendige Buildpacks.
  5. For at applikationen kan bygge CSS/JS-filerne, skal du tilføje to buildpacks: Node.js og PHP. Klik på Indstillinger > Tilføj buildpack, vælg Node.js > Tilføj buildpack. Gentag dette for PHP. Den buildpack, der indeholder det primære sprog for din applikation, skal være den sidste på buildpacks-listen. I dette eksempel er PHP det primære sprog og bør være den sidste buildpack på listen.
  6. Klik på Implementeringer > Implementer nu > vælg den nødvendige branch > Implementer applikation.

Appen er tilgængelig, så snart opbygningen er færdig, og Kinsta-velkomstsiden indlæses på dit websteds URL.

Kinsta velkomstside efter vellykket implementering af Laravel.
Kinsta velkomstside efter vellykket implementering af Laravel.

Foretrækker du at se videoversionen?

Forbind en database

Hvis du vil forbinde din applikation til en database, skal du starte med at oprette en database i det samme datacenter, som din applikation er i.

  1. Tilføj en database.
  2. Tilslut databasen til applikationen ved at tilføje en intern forbindelse og markere afkrydsningsfeltet Tilføj miljøvariabler…. Dette vil automatisk udfylde miljøvariablerne fra databasen.
  3. Nogle af de variabelnavne (nøgler), som Laravel bruger, er forskellige fra dem, der automatisk oprettes i MyKinsta. Rediger variabelnøglerne efter behov for at matche variabelnavnene, der er defineret i Laravels database.php-fil. Nedenfor er de tilsvarende variabelnavne (nøgler) til de databasetyper, Laravel understøtter.

Miljøvariabler

MySQL og PostgreSQL

Automatisk genereret nøgle Laravel nøgle
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

Automatisk genereret nøgle Laravel nøgle
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 kræver, at miljøvariablen APP_KEY er indstillet. Hvis denne nøgle ikke er indstillet, vil du se en 500-fejlside, der serveres af Laravel. Du kan selv generere en app-nøgle lokalt, eller du kan bruge online Laravel-nøglegeneratoren. Når du har en nøgle, kan du tilføje den som en miljøvariabel.

Buildpacks

I de fleste tilfælde vil du have applikationen til at bygge CSS/JS-filerne, så du skal tilføje disse to Buildpacks:

  • Node.js
  • PHP

Den buildpack, der indeholder det primære sprog for din applikation, skal være den sidste på buildpacks-listen. I dette eksempel er PHP det primære sprog og bør være den sidste buildpack på listen.

Opsætning af webserver

Start kommando

Standardwebprocessen er heroku-php-apache2. Dette eksempel indeholder en .htaccess-fil, der omdirigerer alle anmodninger til public/index.php for Laravel. Hvis det er nødvendigt, kan du ændre denne kommando, når du tilføjer din applikation (Opsætning af dine processer) eller på applikationens side Processes (Processer) efter implementering. Du kan bruge:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080