gRPC-Probleme verfolgen
Hinweise
Initialisieren und aktivieren Sie die Schreibberechtigungen, bevor Sie in die Logdatei schreiben. Im folgenden Beispiel heißt die Logdatei /var/log/grpc.log
:
touch /var/log/grpc.log
chmod 666 /var/log/grpc.log
Bei Problemen mit Dateiberechtigungen müssen Sie den vorherigen Befehlen möglicherweise sudo
voranstellen.
Bei einer Datei anmelden
Fügen Sie der Datei php.ini
die folgenden Zeilen hinzu, um gRPC-Logs in einer Datei zu speichern:
grpc.grpc_verbosity=debug
grpc.grpc_trace=all,-timer_check
grpc.log_filename=/var/log/grpc.log
Wenn Sie stattdessen Logs in stderr
schreiben möchten, schließen Sie die letzte Zeile aus dem vorherigen Beispiel aus. Weitere Informationen zu anderen Optionen finden Sie unter gRPC-Umgebungsvariablen.
Fehlerdetails
Google Cloud-Dienste folgen beim Zurückgeben von Fehlern den AIP-193. Google Cloud-Dienste verwenden einen definierten Satz von Standardnutzlasten für Fehler, die Sie in google.rpc.error_details.proto finden. Diese decken die häufigsten API-Fehler wie Kontingentfehler und ungültige Parameter ab.
API-Fehler, die von PHP-Clientbibliotheken ausgegeben werden, enthalten die Felder message
, code
, status
und details
.
Im Feld details
werden in den Feldern reason
, domain
und metadata
zusätzliche google.rpc.ErrorInfo
-Daten angezeigt.
Das folgende Beispiel zeigt einen Fehler, der auftreten kann, wenn Sie die Translation-Bibliothek mit einem Cloud-Projekt aufrufen, bevor Sie die Translate API aktivieren:
Google\ApiCore\ApiException: { "reason": "SERVICE_DISABLED", "domain": "googleapis.com", "errorInfoMetadata": { "consumer": "projects\PROJECT_ID", "service": "translate.googleapis.com" }, "message": "Cloud Translation API has not been used in project PROJECT_ID before or it is disabled. Enable it by visiting https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "code": 7, "status": "PERMISSION_DENIED", "details": [ { "@type": "google.rpc.errorinfo-bin", "reason": "SERVICE_DISABLED", "domain": "googleapis.com", "metadata": { "consumer": "projects\PROJECT_ID", "service": "translate.googleapis.com" } }, { "@type": "google.rpc.help-bin", "links": [ { "description": "Google developers console API activation", "url": "https:\/\/console.developers.google.com\/apis\/api\/translate.googleapis.com\/overview?project=PROJECT_ID" } ] } ] }
Weitere Informationen zum allgemeinen Fehlermodell für Google APIs finden Sie unter Cloud API-Fehler.