最新消息:

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

随手记 Skiychan 188浏览 0评论

由于是接手别人的坑。。。这里省略一大堆废话~~~
系统装的是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,您需要填写昵称和邮箱!

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

网友最新评论 (2)

  1. 可以转多维数组吗
    zhou1周前 (09-13)回复
    • 这个不了解,我只是使用而已。你得跟进去开发者的GitHub提issue。