您好,登錄后才能下訂單哦!
//開始之前我們說一下我遇到的坑,我自己安裝了php7.3,系統自帶了php7.0;我為pjp7.3安裝擴展,但是操作的時候老是訪問系統自帶的php7.0,后來我把系統自帶的php7.0的可執行文件(php phpize php-config)重命名了(保證全部使用我自己安裝的,我寧愿出現可執行文件找不到也不能混用)。
下載地址:https://phar.phpunit.de/
安裝
wget https://phar.phpunit.de/phpunit-7.5.1.phar
chmod +x phpunit-7.5.1.phar
sudo cp phpunit-7.5.1.phar /usr/local/bin/phpunit
git clone https://github.com/grpc/grpc.git
cd grpc
git submodule update --init
//git pull --recurse-submodules && git submodule update --init --recursive
make
sudo make install
# make install 會在 /usr/local/bin 目錄下生成以下文件
#grpc_cpp_plugin
#grpc_csharp_plugin
#grpc_node_plugin
#grpc_objective_c_plugin
#grpc_php_plugin
#grpc_python_plugin
#grpc_ruby_plugin
#protobuf文件生成各種語言的插件
https://github.com/google/protobuf/releases
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip
unzip /protoc-3.6.1-linux-x86_64
sudo cp bin/protoc /usr/local/bin
protoc --version
wget http://pecl.php.net/get/grpc-1.17.0RC3.tgz
tar zxvf grpc-1.17.0RC3.tgz
cd grpc-1.17.0RC3
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install
sudo vim /usr/local/php/etc/php.ini //添加extension=grpc
php -m //查看擴展是否安裝成功
wget https://github.com/allegro/php-protobuf/archive/master.zip
unzip master.zip
cd php-protobuf-master
sudo apt-get install php-dev(安裝依賴)
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make &&sudo make install
//然后在php.ini里面加一下extension = "protobuf.so",再重啟php與nginx即可。
cd /path/to/you/../php-protobuf-master (存放php-protobuf-master的文件夾)
curl -s http://getcomposer.org/installer | php
php composer.phar install
https://blog.csdn.net/u011957758/article/details/52455231
//源碼:https://github.com/grpc/grpc
//我們以grpc給的php例子-helloworld為例
cd grpc/examples/python/helloworld
python greeter_server.py //常駐服務
python greeter_client.py //打印Greeter client received: Hello, you!說明服務正常
//這里測試php服務端
cd grpc/examples/php
//下載php client需要的vendor目錄
curl -s http://getcomposer.org/installer | php
php composer.phar install
//將實例中的helloworld.proto拷貝到當前目錄
cp grpc/examples/protos/helloworld.proto .
//這是編譯proto文件的指令 生成GPBMetadata Helloworld目錄
protoc --proto_path=./ --php_out=./ --grpc_out=./ --plugin=protoc-gen-grpc=/usr/local/bin/grpc_php_plugin ./helloworld.proto
//其實你可以不用拷貝helloworld.proto ,直接使用絕對路徑也行,我是為了看著直觀,
//實際項目中proto文件是單獨管理的一套代碼,大家引用他而已。
//此時就可以運行客戶端了
php greeter_client.php //打印Hello, world!即為成功,服務使用python的。
//到這里說明我們的php已經搭建完grpc的配置了,就可以編寫php grpc客戶端了。
--備注
//sudo apt-get install libc-ares-dev
wget http://pecl.php.net/get/protobuf-3.6.1.tgz
tar zxvf protobuf-3.6.1.tgz
cd protobuf-3.6.1
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install
sudo vim /usr/local/php/etc/php.ini //添加extension=protobuf
php -m //查看擴展是否安裝成功
安裝probuf擴展
php -m
Segmentation fault (core dumped)
https://my.oschina.net/laixhe/blog/1476644
$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
$ cd grpc
$ git pull --recurse-submodules && git submodule update --init --recursive
$ make
$ sudo make install
# make install 會在 /usr/local/bin 目錄下生成以下文件
#grpc_cpp_plugin
#grpc_csharp_plugin
#grpc_node_plugin
#grpc_objective_c_plugin
#grpc_php_plugin
#grpc_python_plugin
#grpc_ruby_plugin
#protobuf文件生成各種語言的插件
#protobuf 編譯模塊安裝 protoc
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ ./configure
$ sudo make
$ sudo make install
#會生成 /usr/local/bin/protoc 可執行文件
#安裝gRPC PHP拓展
#方法一
$ cd grpc/src/php/ext/grpc
$ phpize
$ ./configure
$ make
$ sudo make install
#別忘記在php.ini 文件中加入 extension_dir = "$PHP_PATH/lib/php/extensions/debug-zts-20131226/" extension = grpc.so
#方法2
$ sudo pecl install grpc
#別忘記在php.ini 文件中加入 extension_dir = "$PHP_PATH/lib/php/extensions/debug-zts-20131226/" extension = grpc.so
#安裝protobuf 依賴按住
#方法1 C依賴模塊
$ pecl install protobuf
#方法2 PHP 依賴模塊 需要安裝 composer
$ composer require google/protobuf
#安裝依賴包
$ composer require grpc/grpc
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。