basho / php-protobuf

PHP Protobuf - Fast PHP Protocol Buffers implementation
Apache License 2.0
5 stars 8 forks source link

Riak 2.2.0 and PHP7 support #3

Open kodekraft opened 7 years ago

kodekraft commented 7 years ago

Which versions of the basho/riak-pb and basho/protobuf packages should I use to accommodate Riak 2.2.0 and PHP7?

I'm currently using the following branch for my PHP extension: https://github.com/basho/php-protobuf/commits/serggp_php7

because this is the only one that works. I tried the php7_merge branch but that resulted in a segfault from php-fpm.

christophermancini commented 7 years ago

The php7-merge branch is the ideal branch. Can you share the errors you received on it? I was able to run all of our integration tests against it from our Riak Client library: https://travis-ci.org/basho/riak-phppb-client/builds/197525530

kodekraft commented 7 years ago

Hi Chris,

All the tests passed for me too when I ran the make tests. Here was the error produced in the httpd error_log:

PHP Warning:  PHP Startup: protobuf: Unable to initialize module\nModule compiled with build ID=API20151012,NTS\nPHP    compiled with build ID=API20151012,TS\nThese options need to match\n in Unknown on line 0
[Thu Mar 09 13:11:48.429198 2017] [mpm_event:notice] [pid 32090:tid 140314702362752] AH00489: Apache/2.4.6 (CentOS) PHP/7.0.15 configured -- resuming normal operations
[Thu Mar 09 13:11:48.429233 2017] [core:notice] [pid 32090:tid 140314702362752] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Thu Mar 09 13:13:36.004360 2017] [proxy_fcgi:error] [pid 32095:tid 140314261124864] (104)Connection reset by peer: [client 10.166.33.30:59472] AH01075: Error dispatching request to :

If I restart the php-fpm service, I can execute a single riak transaction, but the next one and all subsequent transactions will fail.

When I checkout and compile the serggp_php7 branch, I don't have this issue.

christophermancini commented 7 years ago

@kodekraft Try rebuilding the module again, but first do a make distclean on the build files before doing the make and make install. I have had this issue sometimes when attempting to build the module with an unclean directory with leftover build files from previous attempts.