最新消息:

google protocol buffers 折腾记 (PHP7.1.5,CentOS6.5)

PHP Skiychan 13898浏览 0评论

2019-08-30 提示:
两年过去了,代码也有了对应的更新。

https://github.com/allegro/php-protobuf 当前主分支
PHP 7.0 or above (for PHP 5 support refer to php5 branch)
Pear’s Console_CommandLine (for the protoc plugin)
Google’s protoc compiler version 2.6 or above
————————————————————-

https://github.com/allegro/php-protobuf/tree/php5 PHP5 分支
PHP 5.3 or above
Pear’s Console_CommandLine (for the protoc plugin)
Google’s protoc compiler version 2.6 or above

————————————————————-
https://github.com/serggp/php-protobuf/tree/php7 fork 版本
PHP 7.0 or above
Pear’s Console_CommandLine (for the protoc plugin)
Google’s protoc compiler version 2.6 or above

————————————————————————-
————————————————————————-

由于是接手别人的坑,……,这里省略一大堆废话。
系统装的是 CentOS6.5,PHP 装的是PHP5.3。
然而作为一名追求性能的渣渣开发者来说,PHP的版本太低了~有很多新特征及优秀的开发框架不支持这么低的PHP版本。

上一个项目,为了方便下一位填坑者,所以我把前坑给填了(重新用CI框架把整个系统给改了)~~~还好CI3兼容性还OK~~~
但是,新项目要来了,我打算用TP来写(也是为了方便后人来接坑,所以用了国内通用的,而不用国外主流的YII之流)。当然是用了最新版本的TP5(因为之前也没怎么用过TP3,官方也停止了TP3的技术支持)。

嗯,所以~~~就把原来的WEB环境给全改了。把apache+php5.3改成了nginx+php5.3+~php7.1。
因为之前已经把旧项目重写了,所以基本完全支持。

然而,遇到坑了。protobuf不支持php7啊。
先列举一下之前用的 protobuf:https://github.com/allegro/php-protobuf,(介绍说是PHP 5.3 or above,但安装好后发现不支持php7),最后在 issues(https://github.com/allegro/php-protobuf/issues/46) 下找到了 关于支持PHP7的讨论,最后找到了支持PHP7的分支:https://github.com/serggp/php-protobuf/tree/php7

接下来,按流程走:

下载,解压,编译,修改php.ini。一样都不能少,最后重启 php-fpm,查看phpinfo是否已支持。

修改php.ini,将 protobuf.so 添加至 php.ini,并重启PHP

PHPINFO

说明PHP7已支持protobuf。

然而还不能使用

需要执行

将php-protobuf环境处理好。

嗯。还有个问题。必须要安装protobuf2.6.x以上
这个就得去google官方找了。。。
由于protobuf已经到了3.x版本,不知道是否完全兼容2.6.x及以下的代码,所以为了安装,我们就找到了2.x的最终版本: 2.6.1
https://github.com/google/protobuf/releases?after=v3.0.0-alpha-1

一样的流程,下载,安装。

再按照教程走一遍就行了。
https://github.com/google/protobuf/tree/bba83652e1be610bdb7ee1566ad18346d98b843c

测试。。。。。
问题1:

解决方案:
https://stackoverflow.com/questions/25518701/protobuf-cannot-find-shared-libraries

最后show一下log:

搞定。
搞技术的真是折腾,前几天又拔了几根白发。
唉!

转载请注明:SKIY开发笔记 » google protocol buffers 折腾记 (PHP7.1.5,CentOS6.5)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)

  1. 可以转多维数组吗
    zhou2年前 (2017-09-13)回复
    • 这个不了解,我只是使用而已。你得跟进去开发者的GitHub提issue。
      Skiychan2年前 (2017-09-14)回复
  2. 感谢你拔下的白头发。
    盖首11个月前 (12-12)回复