Die Cloud Run-Funktion wird in einer Umgebung ausgeführt, die aus einer Betriebssystemversion, Add-on-Paketen, Sprachunterstützung und der PHP Functions Framework-Bibliothek besteht, die Ihre Funktion unterstützt und aufruft. Diese Umgebung wird durch die Sprachversion identifiziert und als Laufzeit-ID bezeichnet.
Funktionsvorbereitung
Sie können eine Funktion direkt über die Google Cloud Console vorbereiten oder auf Ihren lokalen Computer schreiben und hochladen. Informationen zum Vorbereiten Ihres lokalen Computers für die PHP-Entwicklung finden Sie unter PHP auf Google Cloud verwenden.
Unterstützte PHP-Laufzeiten und Basis-Images
Laufzeit | Laufzeit-ID | Stacks | Laufzeit-Basis-Image |
---|---|---|---|
PHP 8.3 | php83 |
|
|
PHP 8.2 | php82 |
|
|
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
Laufzeit auswählen
Sie können während der Bereitstellung eine der unterstützten PHP-Laufzeiten für Ihre Funktion auswählen.
Sie können eine Laufzeitversion über die Google Cloud Console oder die gcloud CLI auswählen. Klicken Sie auf den Tab, um eine Anleitung zum Verwenden des gewünschten Tools zu erhalten.
gcloud
Geben Sie das PHP-Basis-Image für Ihre Funktion mit dem Flag --base-image
an, während Sie die Funktion bereitstellen. Beispiel:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image php83
Ersetzen Sie:
FUNCTION durch den Namen der Funktion, die Sie bereitstellen. Sie können diesen Parameter auch weglassen, werden dann jedoch nach dem Namen gefragt.
FUNCTION_ENTRYPOINT durch den Einstiegspunkt zur Funktion in Ihrem Quellcode. Dies ist der Code, der von Cloud Run ausgeführt wird, wenn Ihre Funktion ausgeführt wird. Der Wert dieses Flags muss ein Funktionsname oder ein voll qualifizierter Klassenname sein, der in Ihrem Quellcode vorhanden ist.
Eine ausführliche Anleitung zum Bereitstellen einer Funktion mit der gcloud CLI finden Sie unter Funktionen in Cloud Run bereitstellen.
Console
Sie können eine Laufzeitversion auswählen, wenn Sie in der Google Cloud Console eine Cloud Run-Funktion erstellen oder aktualisieren. Eine ausführliche Anleitung zum Bereitstellen einer Funktion finden Sie unter Funktionen in Cloud Run bereitstellen.
So wählen Sie beim Erstellen einer Funktion eine Laufzeit in der Google Cloud Console aus:
Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.
Klicken Sie auf Funktion schreiben.
Wählen Sie in der Liste Laufzeit eine PHP-Laufzeitversion aus.
Klicken Sie auf Erstellen und warten Sie, bis der Dienst in Cloud Run mit einer Platzhalter-Überarbeitung erstellt wurde.
Die Console leitet Sie zum Tab Quelle weiter, auf dem Sie den Quellcode Ihrer Funktion sehen. Klicken Sie auf Speichern und neu bereitstellen.
Eine ausführliche Anleitung zum Aktualisieren der Laufzeitversion nach der Bereitstellung Ihrer Funktion finden Sie unter Neuen Quellcode noch einmal bereitstellen.
Struktur des Quellcodes
Damit Cloud Run Functions die Definition Ihrer Funktion findet, muss Ihr Quellcode einer bestimmten Struktur entsprechen. Weitere Informationen finden Sie unter Cloud Run-Funktionen schreiben.
PHP-Konfiguration
Sie konfigurieren Ihre PHP-Funktion mit einer php.ini
-Datei im Stammverzeichnis Ihrer Funktion. Sie können vorhandene PHP-Konfigurationseinstellungen mit der Funktion phpinfo()
aufrufen, wie im folgenden Codebeispiel gezeigt:
Abhängigkeiten angeben
PHP verwendet Composer zum Verwalten von Abhängigkeiten. Abhängigkeiten für die Funktion werden angegeben, indem sie in eine Projektdatei namens composer.json
eingefügt werden.
Für die PHP-Laufzeit von Cloud Run-Funktionen muss das Functions Framework eine explizite Abhängigkeit sein. Führen Sie den folgenden Befehl in dem Verzeichnis mit dem Funktionscode aus, um Functions Framework als Abhängigkeit hinzuzufügen. Dieses Verzeichnis muss auch diecomposer.json
-Datei enthalten:
composer require google/cloud-functions-framework
Dadurch wird Functions Framework zu composer.json
hinzugefügt und das Paket im Verzeichnis vendor/
installiert.
autoload.php
-Datei
Eine der Dateien in Ihrem vendor/
-Verzeichnis ist autoload.php
.
Fügen Sie oben in Ihren PHP-Skripts die folgende Zeile ein, um die Datei autoload.php
erforderlich zu machen. Dabei werden die anderen Abhängigkeiten Ihrer Funktion automatisch mit require
versehen:
require_once __DIR__ . '/vendor/autoload.php';
Das Verzeichnis vendor/
wird standardmäßig in der generierten Datei .gcloudignore
ignoriert, um die Anzahl der in der Bereitstellung gesendeten Dateien zu reduzieren.