hyperf 安装扩展 protobuf

我们知道Protocol Buffers是Google定义的一种跨语言、跨平台、可扩展的数据传输及存储的协议,因为将字段协议分别放在传输两端,传输数据中只包含数据本身,不需要包含字段说明,所以传输数据量小,解析效率高。感兴趣的可以访问 https://developers.google.com/protocol-buffers/docs/overview 。Protocol Buffers官方只支持C++, Java, Python, C#, Go,如果想在PHP中使用Protocol Buffers,需要借助于第三方的扩展,安装方法如下。

下载资源压缩包 https://github.com/allegro/php-protobuf/

步骤如下:

1、上传到服务器,解压,进入解压后的目录

[root@test ~]# unzip php-protobuf-master.zip

[root@test ~]# cd php-protobuf-master

2、执行phpize

[root@test php-protobuf-master]# /soft/php/bin/phpize

Configuring for:

PHP Api Version: 20090626

Zend Module Api No: 20090626

Zend Extension Api No: 220090626

3、编译、make安装

[root@test php-protobuf-master]# ./configure --with-php-config=/soft/php/bin/php-config

[root@test php-protobuf-master]# make

[root@test php-protobuf-master]# make install

Installing shared extensions: /soft/php/lib/php/extensions/no-debug-non-zts-20090626/

安装之后在目录生成扩展文件

[root@test php-protobuf-master]# ll /soft/php/lib/php/extensions/no-debug-non-zts-20090626/

-rwxr-xr-x. 1 root root 130247 3?. 8 11:19 protobuf.so

编辑php.ini文件,添加一行

[root@test php-protobuf-master]# vi /soft/php/lib/php.ini

[memcache]

extension_dir = "/soft/php/lib/php/extensions/no-debug-non-zts-20090626/"

extension = "redis.so"

extension = "protobuf.so"

保存退出后重启php,之后打开浏览器查看 phpinfo.php 有protobuf 模块,说明安装成功;

安装完成后,运行前,我们先把swoole的shortname关闭。在php.ini中新增:swoole.use_shortname='Off';

启动,cd hyperf/bin,php hyperf.php start 没报错就成功了

posted @ 2020-09-22 15:59  Bashuslovakia  阅读(677)  评论(0编辑  收藏  举报