PHP-Laufzeitumgebung

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
  • google-22 (default)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (default)
  • google-22-full
  • google-22/php82
  • google-22-full/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:

    1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Run.

      Zu Cloud Run

    2. Klicken Sie auf Funktion schreiben.

    3. Wählen Sie in der Liste Laufzeit eine PHP-Laufzeitversion aus.

    4. Klicken Sie auf Erstellen und warten Sie, bis der Dienst in Cloud Run mit einer Platzhalter-Überarbeitung erstellt wurde.

    5. 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:

    
    use Psr\Http\Message\ServerRequestInterface;
    
    function phpInfoDemo(ServerRequestInterface $request): string
    {
        // phpinfo() displays its output directly in the function's
        // HTTP response, so we don't need to explicitly return it
        //
        // Note: we recommend deleting the deployed Cloud Function once you no
        // longer need it, as phpinfo() may broadcast potential security issues.
        phpinfo();
        return '';
    }
    

    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.