PHP

In diesem Artikel findest du Beispiele, wie du die folgenden PHP-Anwendungen so einrichtest, dass sie von einem GitHub-Repository aus auf den Anwendungs-Hosting-Diensten von Kinsta bereitgestellt werden können:

Voraussetzungen

  • Die Schnellstartvorlagen von Kinsta werden auf GitHub gespeichert und verwaltet. Daher brauchst du ein GitHub-Konto, um darauf zuzugreifen.
  • Du musst ein MyKinsta-Konto erstellen, um die Anwendung bereitzustellen.

PHP

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hello World – PHP.
  2. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  3. Wähle das Hello World PHP-Repository und einen Standort für das Rechenzentrum. Belasse alle anderen Einstellungen als Standard und klicke bei jedem Schritt auf Weiter.
  4. Klicke im Schritt Zusammenfassung auf Jetzt bereitstellen.

Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner composer.json-Datei definierten Abhängigkeiten. Die App ist verfügbar, sobald die Bereitstellung abgeschlossen ist und die Kinsta-Willkommensseite unter der URL deiner Anwendung geladen wird.

Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von PHP
Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von PHP

Willst du lieber die Videoversion sehen?

Webserver-Einrichtung

Kinsta konfiguriert automatisch einen Apache-Webserver, der deine index.php -Datei wie üblich aus dem Hauptverzeichnis deines Projekts ausliefert. Erstelle eine index.php-Datei in deinem Projektordner als Standard-Indexseite.

Jigsaw

Hier siehst du ein Beispiel, wie du eine statische Website mit Jigsaw auf dem Anwendungs-Hosting-Dienst von Kinsta aus einem GitHub-Repository einrichtest.

Jigsaw ist ein statisches Site-Framework, das Blade-Vorlagen für die Erstellung von Seitenlayouts und Markdown für die Erstellung von Inhalten innerhalb der Vorlagen verwendet, sodass du einfache statische Sites ohne komplexe Programmierkenntnisse erstellen kannst. Weitere Informationen findest du auf der Jigsaw-Website.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Jigsaw Starter.
  2. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  3. Wähle das Jigsaw Starter Repository und einen Standort für das Rechenzentrum. Belasse alle anderen Einstellungen auf den Standardwerten und klicke bei jedem Schritt auf Weiter.
  4. Da du vor der Bereitstellung die erforderlichen Buildpacks hinzufügen musst, klicke im Schritt Zusammenfassung auf Später bereitstellen.
  5. Damit die Anwendung die CSS/JS-Dateien bauen kann, musst du zwei Buildpacks hinzufügen: Node.js und PHP. Klicke auf Einstellungen > Buildpack hinzufügen, wähle Node.js > Buildpack hinzufügen. Wiederhole den Vorgang für PHP.
  6. Klicke auf Bereitstellungen > Jetzt bereitstellen > wähle den gewünschten Zweig > Anwendung bereitstellen.

Jigsaw basiert auf Laravel; es ist eine normale PHP-basierte Anwendung. Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner composer.json-Datei definierten Abhängigkeiten. Sobald die Bereitstellung abgeschlossen ist, ist die App verfügbar und eine Standard-Jigsaw-Seite wird unter der URL deiner Anwendung geladen.

Jigsaw-Standardseite nach erfolgreicher Installation
Jigsaw-Standardseite nach erfolgreicher Installation

Buildpacks

In den meisten Fällen möchtest du, dass die Anwendung die CSS/JS-Dateien baut. Deshalb musst du diese beiden Buildpacks hinzufügen:

  • Node JS
  • PHP

Webserver-Einrichtung

Start-Befehl

Wenn du die Anwendung bereitstellst, erstellt Kinsta automatisch einen Webprozess mit npm start als Startbefehl. Bei Bedarf kannst du dies in Prozesse ändern.

Laravel

Dieses Beispiel zeigt, wie du eine Laravel-Anwendung einrichtest, um sie über ein GitHub-Repository auf den Anwendungs-Hosting-Diensten von Kinsta bereitzustellen.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hallo Welt – Laravel.
  2. Für Laravel muss die UmgebungsvariableAPP_KEY gesetzt sein. Du kannst einen Anwendungs-Schlüssel selbst lokal generieren oder diesen Online-Laravel-Schlüsselgenerator verwenden.
  3. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  4. Wähle das Hello World Laravel Repository und einen Standort für das Rechenzentrum. Unter Umgebungsvariablen gibst du unter Schlüssel 1APP_KEY ein und fügst unter Wert 1 den in Schritt 2 generierten Schlüssel ein, wählst Verfügbar während der Laufzeit und Verfügbar während des Build-Prozesses.
  5. Belasse alle anderen Einstellungen als Standard und klicke bei jedem Schritt auf Weiter. Klicke im Schritt Zusammenfassung auf Später bereitstellen, um die erforderlichen Buildpacks vor der Bereitstellung hinzuzufügen.
  6. Damit die Anwendung die CSS/JS-Dateien bauen kann, musst du zwei Buildpacks hinzufügen: Node.js und PHP. Klicke auf Einstellungen > Buildpack hinzufügen, wähle Node.js > Buildpack hinzufügen. Wiederhole den Vorgang für PHP.
  7. Klicke auf Bereitstellungen > Jetzt bereitstellen > wähle den gewünschten Zweig > Anwendung bereitstellen.

Laravel ist eine normale PHP-basierte Anwendung. Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner composer.json-Datei definierten Abhängigkeiten. Sobald die Bereitstellung abgeschlossen ist, ist die Anwendung verfügbar und eine Standard-Jigsaw-Seite wird unter der URL deiner Anwendung geladen.

Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von Laravel
Kinsta-Willkommensseite nach erfolgreicher Bereitstellung von Laravel

Willst du lieber die Videoversion sehen?

Eine Datenbank verbinden

Wenn du deine Anwendung mit einer Datenbank verbinden möchtest, erstelle zunächst eine Datenbank im selben Rechenzentrum, in dem sich deine Anwendung befindet.

  1. Füge eine Datenbank hinzu.
  2. Verbinde die Datenbank mit deiner Anwendung, indem du eine interne Verbindung hinzufügst und das Kontrollkästchen Umgebungsvariablen hinzufügen… aktivierst. Dadurch werden automatisch die Umgebungsvariablen aus der Datenbank eingefügt.
  3. Einige der Variablennamen (Schlüssel), die Laravel verwendet, unterscheiden sich von denen, die in MyKinsta automatisch erstellt werden. Bearbeite die Variablenschlüssel nach Bedarf, damit sie mit den Variablennamen übereinstimmen, die in Laravels datenbank.php datei definiert sind. Im Folgenden findest du die entsprechenden Variablennamen (Schlüssel) für die von Laravel unterstützten Datenbanktypen.

Umgebungsvariablen

MySQL und PostgreSQL

Automatisch erzeugter SchlüsselLaravel-Schlüssel
DB_HOSTDB_HOST
DB_PORTDB_PORT
DB_NAMEDB_DATENBANK
DB_BENUTZERDB_USERNAME
DB_PASSWORTDB_PASSWORT
DB_CONNECTION_URLDB_URL

Redis

Automatisch erzeugter SchlüsselLaravel-Schlüssel
DB_HOSTREDIS_HOST
DB_PORTREDIS_PORT
DB_NAMEREDIS_DB
DB_USERREDIS_USERNAME
DB_PASSWORTREDIS_PASSWORT
DB_CONNECTION_URLREDIS_URL

Laravel APP_KEY

Laravel verlangt, dass die Umgebungsvariable APP_KEY gesetzt ist. Wenn dieser Schlüssel nicht gesetzt ist, siehst du eine 500-Fehlerseite, die von Laravel serviert wird. Du kannst einen Anwendungs-Schlüssel selbst lokal generieren oder den Online-Laravel-Schlüsselgenerator verwenden. Sobald du einen Schlüssel hast, kannst du ihn als Umgebungsvariable hinzufügen.

Buildpacks

In den meisten Fällen möchtest du, dass die Anwendung die CSS/JS-Dateien erstellt. Deshalb musst du diese beiden Buildpacks hinzufügen:

  • Node.js
  • PHP

Das Buildpack, das die Hauptsprache deiner Anwendung enthält, muss das letzte in der Liste der Buildpacks sein. In diesem Beispiel ist PHP die Hauptsprache und sollte das letzte Buildpack in der Liste sein.

Webserver einrichten

Start-Befehl

Der Standard-Webprozess ist heroku-php-apache2. Dieses Beispiel enthält eine .htaccess-Datei, die alle Anfragen an public/index.php für Laravel umleitet. Bei Bedarf kannst du diesen Befehl beim Hinzufügen deiner Anwendung (Prozesse einrichten) oder auf der Seite Prozesse der Anwendung nach der Bereitstellung ändern. Du kannst verwenden:

heroku-php-apache2 /public

oder

php artisan serve --host 0.0.0.0 --port 8080

Leaf

Dieses Beispiel zeigt, wie du eine Leaf-PHP-Anwendung so einrichtest, dass sie von einem GitHub-Repository aus auf den Anwendungs-Hosting-Diensten von Kinsta bereitgestellt werden kann.

Leaf ist ein schlankes und leichtgewichtiges PHP-Framework, das sich auf Entwicklererfahrung, Benutzerfreundlichkeit und leistungsstarken Code konzentriert. Weitere Informationen findest du auf der Leaf PHP-Website.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Hello World – Leaf PHP.
  2. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  3. Wähle das Hello World – Leaf PHP Repository und einen Standort für das Rechenzentrum. Belasse alle anderen Einstellungen als Standard und klicke bei jedem Schritt auf Weiter.
  4. Klicke im Schritt Zusammenfassung auf Jetzt bereitstellen.

Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner composer.json-Datei definierten Abhängigkeiten. Die App ist verfügbar, sobald die Bereitstellung abgeschlossen ist und die Kinsta-Willkommensseite unter der URL deiner Anwendung geladen wird.

Kinsta-Willkommensseite nach erfolgreicher Installation von Leaf PHP
Kinsta-Willkommensseite nach erfolgreicher Installation von Leaf PHP

Willst du lieber die Videoversion sehen?

Webserver-Einrichtung

Port

Kinsta setzt automatisch die Umgebungsvariable PORT. Du solltest sie nicht selbst definieren und auch nicht fest in die Anwendung programmieren.

Startbefehl

Wenn du die Anwendung bereitstellst, erstellt Kinsta automatisch einen Webprozess, der unter heroku-php-apache2 läuft.

Bereitstellungs-Lebenszyklus

Jedes Mal, wenn eine Bereitstellung gestartet wird (durch das Erstellen einer Anwendung oder durch ein Redeployment aufgrund eines eingehenden Commits), wird der Befehl composer install ausgeführt.

Statamic

Dieses Beispiel zeigt, wie du eine Statamic-Anwendung einrichtest, um sie von einem GitHub-Repository aus auf den Anwendungs-Hosting-Diensten von Kinsta bereitzustellen.

Statamic ist ein Flat-File-CMS, das standardmäßig alle Daten im Git-Repository speichert. Bevor du den Code an MyKinsta weitergibst, empfiehlt es sich, Statamic lokal zu installieren, um deine Website zu erstellen und zu pflegen. Als Nächstes erstellst du ein Superuser-Konto und übergibst alle Änderungen an das Repository.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Diese Vorlage verwenden > Neues Repository erstellen): Kinsta – Statamic Boilerplate.
  2. Statamic basiert auf Laravel, daher muss die Umgebungsvariable APP_KEY gesetzt sein. Du kannst einen Anwendungs-Schlüssel selbst lokal generieren oder du kannst diesen Online-Laravel-Schlüsselgenerator verwenden.
  3. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  4. Wähle das Statamic Starter Repository und einen Standort für das Rechenzentrum. In Umgebungsvariablen:
    1. In Key 1 gibst du APP_KEY ein, und in Value 1 fügst du den in Schritt 2 generierten Schlüssel ein.
    2. Klicke auf Weiteren hinzufügen und gib unter Key 2APP_KINSTA und unter Value 2true ein.
    3. Wähle Verfügbar während der Laufzeit und Verfügbar während des Build-Prozesses.
  5. Belasse alle anderen Einstellungen als Standard und klicke bei jedem Schritt auf Weiter. Klicke im Schritt Zusammenfassung auf Später bereitstellen, um die erforderlichen Buildpacks vor der Bereitstellung hinzuzufügen.
  6. Damit die Anwendung die CSS/JS-Dateien bauen kann, musst du zwei Buildpacks hinzufügen: Node.js und PHP. Klicke auf Einstellungen > Buildpack hinzufügen, wähle Node.js > Buildpack hinzufügen. Wiederhole den Vorgang für PHP.
  7. Klicke auf Bereitstellungen > Jetzt bereitstellen > wähle den gewünschten Zweig > Anwendung bereitstellen.

Da Statamic auf Laravel basiert, ist es eine normale PHP-basierte Anwendung. Während der Bereitstellung erkennt Kinsta automatisch den Startbefehl für den Webprozess und installiert die in deiner composer.json-Datei definierten Abhängigkeiten. Sobald die Bereitstellung abgeschlossen ist, ist die Anwendung verfügbar und die Statamic-Willkommensseite wird unter der URL deiner Anwendung geladen.

Statamic-Willkommensseite nach erfolgreicher Installation
Statamic-Willkommensseite nach erfolgreicher Installation

Willst du lieber die Videoversion sehen?

Umgebungsvariablen

Für Statamic müssen die folgenden Umgebungsvariablen gesetzt werden:

Buildpacks

In den meisten Fällen möchtest du, dass die Anwendung die CSS/JS-Dateien baut. Deshalb musst du diese beiden Buildpacks hinzufügen:

  • Node.js
  • PHP

Das Buildpack, das die Hauptsprache deiner Anwendung enthält, muss das letzte in der Liste der Buildpacks sein. In diesem Beispiel ist PHP die Hauptsprache und sollte das letzte Buildpack in der Liste sein.

Webserver einrichten

Start-Befehl

Der Standard-Webprozess ist heroku-php-apache2 public/. Falls nötig, kannst du diesen Befehl beim Hinzufügen deiner Anwendung (Prozesse einrichten) oder auf der Seite Prozesse der Anwendung nach der Bereitstellung ändern.

PHP zum Versenden von E-Mails

Dieses Beispiel zeigt, wie du eine PHP-Anwendung für den Versand von E-Mails über SendGrid auf dem Anwendungs-Hosting-Dienst von Kinsta einrichtest, die aus einem GitHub-Repository bereitgestellt wird.

Kinsta unterstützt von Haus aus keine ausgehenden E-Mails von Servern. Der Versand von E-Mails über spezialisierte Outbound-Anbieter wie SendGrid oder Mailchimp bietet mehr Flexibilität und höhere Erfolgsquoten für Transaktions- und Kampagnen-E-Mails.

  1. Melde dich bei GitHub an und erstelle ein neues Repository aus dieser Vorlage (Use this template > Create a new repository): Kinsta – Hello World – E-Mail-Versand mit PHP.
  2. Klicke in MyKinsta auf Anwendungen > Anwendung hinzufügen > wähle GitHub, klicke auf Git-Anbieter verbinden > Autorisieren und melde dich bei deinem GitHub-Konto an.
  3. Wähle das Hello World Email PHP Repository und einen Standort für das Rechenzentrum. Füge unter Umgebungsvariablen Folgendes hinzu:
    • SENDGRID_API_KEY: Den API-Schlüssel von SendGrid.
    • TEST_EMAIL_TO_ADDRESS: Die Adresse, an die die Test-E-Mail gesendet werden soll.
    • TEST_EMAIL_FROM_ADDRESS: Die Adresse, von der die Test-E-Mail gesendet werden soll.
    • TEST_ENDPOINT: Der Endpunkt, der als Auslöser für den Versand der Test-E-Mail verwendet werden soll. Bitte verwende eine zufällige Zeichenfolge mit mindestens 8 Zeichen.
  4. Belasse alle anderen Einstellungen auf den Standardwerten und klicke bei jedem Schritt auf Weiter. Klicke im Schritt Zusammenfassung auf Jetzt bereitstellen.

Die Anwendung ist verfügbar, sobald die Bereitstellung abgeschlossen ist und eine Hello World-Seite unter der URL deiner Anwendung geladen wird.

PHP-E-Mail, die die Hello World-Seite nach erfolgreicher Installation versendet
PHP-E-Mail, die die Hello World-Seite nach erfolgreicher Installation versendet

Eine E-Mail auslösen

Über einen sehr einfachen index.php-Einstiegspunkt werden zwei Endpunkte angezeigt; alle anderen geben eine 404 zurück:

  • /: Eine einfache Seite, die die Hello World Nachricht zurückgibt
  • /${TEST_ENDPOINT}: Eine Seite, die eine Test-E-Mail auslöst.

Um eine E-Mail auszulösen, suchst du auf der Seite Bereitstellungen die URL deines Einsatzes, hängst deinen Test-Endpunkt an diese URL an und besuchst die Seite. Wenn dein TEST_ENDPOINT zum Beispiel auf o34nifnodhni4of eingestellt ist und dein letzter Einsatz auf https://example.kinsta.app steht , kannst du eine Test-E-Mail von https://example.kinsta.app/o34nifnodhni4of in deinem Browser auslösen.

War dieser Artikel hilfreich?