gRPC ist ein modernes Open-Source-Framework für hochleistungsfähige Remote-Prozeduraufrufe. Wenn Sie PHP-Clientbibliotheken für gRPC-fähige APIs verwenden möchten, müssen Sie gRPC für PHP installieren. In dieser Anleitung erfahren Sie, wie Sie gRPC installieren und aktivieren.
Lernziele
- gRPC-Erweiterung für PHP installieren
- gRPC-Erweiterung für PHP aktivieren
Voraussetzungen
PECL installieren
Ubuntu/Debian
sudo apt-get install autoconf zlib1g-dev php-dev php-pear
Wenn Sie PHP 7.4+ oder höher verwenden, muss PHP mit dem Flag --with-pear
installiert worden sein.
CentOS/RHEL 7
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php-devel php-pear gcc zlib-devel
macOS
curl -O https://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
Windows
Für Windows ist PECL nicht erforderlich.
Composer installieren
Linux
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
macOS
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Windows
Folgen Sie der offiziellen Installationsanleitung für Composer für Windows.
gRPC-Erweiterung installieren
PECL verwenden
sudo pecl install grpc
Damit kompilieren und installieren Sie die gRPC PHP-Erweiterung im Standardverzeichnis für PHP-Erweiterungen.
Aus Quelle erstellen
Folgen Sie dieser Anleitung, um die gRPC Core-Bibliothek und die PHP-Erweiterung aus der Quelle zu erstellen.
Klonen Sie das gRPC-Repository von GitHub.
git clone https://github.com/grpc/grpc
Erstellen und installieren Sie die gRPC C Core-Bibliothek.
cd grpc git submodule update --init make sudo make install It can take a few minutes to download and execute the library. If you have git version 1.8.4 or greater, you can speed up the `git submodule update --init` command by adding the `--depth=1` flag.
Kompilieren Sie die gRPC PHP-Erweiterung.
cd src/php/ext/grpc phpize ./configure make sudo make install
Windows
Windows-Nutzer können den vorkompilierten gRPC direkt von der PECL-Website herunterladen.
PHP-Dokumentation zum Installieren von Erweiterungen unter Windows ansehen
gRPC-Erweiterung in php.ini aktivieren
Linux/MacOS
Fügen Sie diese Zeile an einer beliebigen Stelle in Ihrer php.ini
-Datei ein, z. B. /etc/php7/cli/php.ini
.
Sie können durch Ausführen von php --ini
nach dieser Datei suchen.
extension=grpc.so
Windows
Fügen Sie diese Zeile an einer beliebigen Stelle in Ihrer php.ini
-Datei ein, z. B. C:\Program Files\PHP\7.3\php.ini
.
extension=php_grpc.dll
gRPC als Composer-Abhängigkeit hinzufügen
Fügen Sie Ihrem PHP-Projekt mit Composer das Paket grpc/grpc
hinzu:
composer require "grpc/grpc:^1.38"
protobuf-Laufzeitbibliothek installieren
Sie können zwischen zwei protobuf-Laufzeitbibliotheken wählen. Die von ihnen angebotenen APIs sind identisch. Die C-Implementierung funktioniert besser als die (native) PHP-Implementierung, während die native Implementierung einfacher ist als die C-Implementierung.
C-Implementierung
Aktivieren Sie für eine bessere Leistung mit gRPC die protobuf-C-Erweiterung.
Linux/macOS
Installieren Sie die Erweiterung protobuf.so
mithilfe von PECL.
sudo pecl install protobuf
Fügen Sie diese Zeile nun zu der php.ini
-Datei hinzu, z. B. /etc/php5/cli/php.ini
.
extension=protobuf.so
Windows
Laden Sie die vorkompilierte protobuf-Erweiterung direkt von der PECL-Website herunter.
Fügen Sie diese Zeile nun zu der php.ini
-Datei hinzu, z. B. C:\Program Files\PHP\7.3\php.ini
.
extension=php_protobuf.dll
PHP-Implementierung
Fordern Sie für eine einfachere Installation das Paket google/protobuf
mithilfe von Composer an.
composer require "google/protobuf:^3.17"
Nächste Schritte
Nachdem Sie gRPC und die gRPC PHP-Erweiterung installiert haben, testen Sie gRPC-fähige APIs wie Spanner.