Auf dieser Seite wird beschrieben, wie Sie Ihre PHP 5.5-Anwendung in die PHP 7/8-Laufzeit in der App Engine-Standardumgebung migrieren.
Kompatibilitätsprobleme zwischen PHP 5.5 und PHP 7/8
Die offizielle PHP-Dokumentation enthält Informationen zur Migration von verschiedenen PHP-Versionen:
- Migration von PHP 5.5.x zu PHP 5.6.x
- Migration von PHP 5.6.x zu PHP 7.0.x
- Migration von PHP 7.0.x zu PHP 7.1.x
- Migration von PHP 7.1.x zu PHP 7.2.x
- Migration von PHP 7.2.x zu PHP 7.3.x
- Migration von PHP 7.3.x zu PHP 7.4.x
- Migration von PHP 7.0.x zu PHP 8.0.x
- Migration von PHP 7.0.x zu PHP 8.1.x
Datei app.yaml
migrieren
Damit sämtliches Routing in einer einzigen Anwendung verarbeitet wird, muss ein Front Controller eingerichtet werden. Weitere Informationen finden Sie unter Anwendungsstart.
In der PHP 7/8-Laufzeit kann das Handler-Element script
nicht angepasst werden. Der einzige gültige Wert ist auto
, da der gesamte Traffic über den Befehl "entrypoint" bereitgestellt wird. Alle nicht statischen URL-Handler müssen script: auto
enthalten, damit sie bereitgestellt werden können.
Das Verhalten einiger Elemente in der Konfigurationsdatei app.yaml
wurde geändert:
Element | Änderungstyp | Beschreibung |
---|---|---|
entrypoint | Hinzugefügt | Dieses Feld kann optional verwendet werden, um den Befehl anzugeben, der beim Start der Anwendung ausgeführt wird. |
threadsafe | Verworfen | Es wird davon ausgegangen, dass alle Anwendungen threadsicher sind, d. h., eine Instanz kann mehrere Anfragen gleichzeitig verarbeiten. |
api_version | Verworfen | Wird in der PHP-Laufzeit 7/8 nicht mehr benötigt. |
application_readable | Verworfen | |
builtins | Verworfen | |
libraries | Veraltet | Mithilfe einer Metadatendatei wie composer.json können beliebige Abhängigkeiten von Drittanbietern installiert werden. |
handlers | Geändert |
|
Wenn Sie eines der verworfenen Felder verwenden, tritt bei der Bereitstellung der Anwendung ein Fehler auf.
Weitere Informationen finden Sie in der Referenz zu app.yaml
.
Weniger Laufzeitbeschränkungen
Die PHP 7/8-Laufzeiten haben weniger Einschränkungen als die PHP 5.5-Laufzeit.
- Abhängigkeiten von Drittanbietern installieren.
- Die Laufzeit enthält ein vollständiges Dateisystem.
- Es können Hintergrundthreads oder -prozesse erstellt werden, die über den Umfang der Anfrage hinausgehen, während die Instanz ausgeführt wird.
- Verwenden Sie die Google Cloud-Clientbibliothek für PHP, um Anwendungen in andere Google Cloud-Dienste einzubinden. Weitere Informationen finden Sie auf der Seite Google Cloud-Clientbibliothek installieren.
Weitere Informationen finden Sie in der Dokumentation zur PHP 7/8-Laufzeitumgebung.
Aus dem App Engine PHP SDK migrieren
Um den Aufwand für die Laufzeitmigration und die Komplexität zu verringern, können Sie in der App Engine-Standardumgebung auf viele Legacy-Bundle-Dienste und APIs in der PHP 7/8-Laufzeit zugreifen, z. B. Memcache. Ihre PHP 7/8-Anwendung kann über das App Engine SDK für PHP 7+ die APIs für gebündelte Dienste aufrufen und auf die meisten Funktionen der PHP 5-Laufzeit zugreifen. Nicht alle Legacy-Dienste, die für PHP 5 verfügbar sind, haben einen entsprechenden Dienst in PHP 7/8. Eine vollständige Liste der für PHP 7/8 verfügbaren Legacy-Dienste für gebündelte Dienste finden Sie in der Referenzdokumentation für gebündelte Legacy-Dienste.
Sie können auch Google Cloud-Produkte verwenden, die vergleichbare Funktionen wie die gebündelten Legacy-Dienste bereitstellen. Diese Google Cloud-Produkte bieten eine idiomatische Google Cloud CLI-Clientbibliothek. Für die älteren gebündelten Dienste, die in Google Cloud nicht als separate Produkte verfügbar sind, z. B. die Suche, können Sie Drittanbieter oder andere Behelfslösungen verwenden. Weitere Informationen zur Migration zu nicht gebündelten Diensten finden Sie unter Von gebündelten Diensten migrieren.
Anwendung lokal ausführen
So testen Sie Ihre Anwendung und führen sie lokal aus:
- Installieren Sie lokal eine PHP-Version, die einer der PHP 7/8-Laufzeiten entspricht, die in der App Engine-Standardumgebung verfügbar sind.
- Webserver installieren und damit Ihre Anwendung lokal bereitstellen
Den HTTP-Server können Sie z. B. durch Ausführen des folgenden Befehls starten:
php -S localhost:8080
Anschließend können Sie sich die Anwendung im Webbrowser unter http://localhost:8080 ansehen.