【マイクロサービス】PHPでgRPCを「開く」


一、ソフトウェア環境

  • CentOS Linux release 7.6.1810
  • 推奨lnmp環境インストール、参照リンクhttps://lnmp.org/install.html

  • 二、「gRPCを開く」ステップ


    1.gRPCとそのphp拡張をインストールする

    git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
    cd grpc
    git submodule update --init
    make
    make install
    
    cd src/php/ext/grpc
    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make
    make install
    vi /usr/local/php/etc/php.ini
    #   php.ini       grpc     :extension=grpc.so
    

    2.protobufとそのphp拡張子のインストール

    cd ../../../../third_party/protobuf
    ./autogen.sh
    ./configure
    make
    make install
    
    cd php/ext/google/protobuf
    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make
    make install
    vi /usr/local/php/etc/php.ini
    #   php.ini       protobuf     :extension=protobuf.so
    

    3.php-fpmの再起動


    命令lnmp php-fpm restartを実行すればよい

    4.grpc_の構築php_plugin(.protoファイルからコードを生成するために使用)クライアントコードを生成

    cd ../../../../../../
    make grpc_php_plugin #    grpc_php_plugin
    
    cd examples/php
    ./greeter_proto_gen.sh  #       php   
    composer install
    

    5.grpcサービスを「少し飛ばす」


    ①nodeのインストール、参考https://blog.csdn.net/bbwangj/article/details/82253785第三の方式②サービス側の運転
    cd ../node
    npm install
    cd dynamic_codegen
    node greeter_server.js
    

    ③別のshellセッションを開き、クライアントを実行する
    cd ~
    cd grpc/examples/php
    ./run_greeter_client.sh
    #            grpc     Hello world   !
    

    ガイドドキュメント


    https://grpc.io/docs/quickstart/php.html https://blog.csdn.net/bbwangj/article/details/82253785