Aerospike PHP 7 Support


#1

Just wondering, will PHP 7 be supported.


#2

That’s definitely the plan, Mr. Fish. Originally the PHP 7 timeline was mid-November, and it seems that it could be as soon as Mid-October, so we may be a few weeks late.


#3

I came here to post this same question. Now that RC6 came out today. We are < 14 days from release!

What’s it looking like for a PHP7 driver release? Are we talking days, weeks, months?


#4

The current release candidate has a bug with the persistent list storage, which is how we implement persistent connections. Hopefully they’ll be able to fix it prior to 7.0.0.

We are talking in terms of Zend engine bugs fixed, so that’s out of our control at the moment.


#5

It seems that PHP 7 is still not supported in the latest release: Aerospike PHP Client Release 3.4.6 (December 25, 2015)

Any news?


#6

It will be announced when it’s ready. We won’t sneak it in :slightly_smiling:


#7

Any further updates on this in terms of a possible release date?


#8

Hello,

any news about php7 support release?)


#9

Yes, an employee is being tortured with fitting ZE2 and ZE3 code in the same repo as an attempt to get it out sooner.


#10

Is it harder to keep the 2 separate? I would have thought potentially that would be easier as you’re not worried about BC and breaking changes in the new version. It also means you could keep them separate, release bug fixes for < php7 etc - but that’s just my thoughts? I understand maintaining 2 code bases would be a pita - but in the long run it may work out more effective?


#11

We have the alpha release of the PHP7 now available. http://www.aerospike.com/download/client/php/3.4.9/

Please take a look and give feedback!


#12

Cheers!

Best news today!

Thank you guys, I can’t wait to try it!


#13

Hi, I tried in Ubuntu 14.04.4

$ composer require aerospike/aerospike-client-php "3.4.9" \
&& cd vendor/aerospike/aerospike-client-php/src/aerospike \
&& find . -name "*.sh" -exec chmod +x {} \; \
&& ./build.sh \

And I got this

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for aerospike/aerospike-client-php 3.4.9 -> satisfiable by aerospike/aerospike-client-php[3.4.9].
    - aerospike/aerospike-client-php 3.4.9 requires php ~5.3 -> your PHP version (7.0.10) does not satisfy that requirement.


Installation failed, deleting ./composer.json.

Which php7 is currently supported?

thank you Rolando


#14

Hi,

just add --ignore-platform-reqs to composer:

composer require --ignore-platform-reqs aerospike/aerospike-client-php “3.4.9”


#15

Will be fixed in the next release. Thanks!


#16

thank you @alex7

in my case I had to do a manual copy from src/aerospike/.libs to /usr/local/lib/php/extensions/no-debug-non-zts-20151012/ to make it work.


#17

Hi All,

I am getting this error after installing the extension with php7

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20131226/aerospike.so’ - /usr/lib/php5/20131226/aerospike.so: undefined symbol: zval_used_for_init in Unknown on line 0

Has anyone faced this error ?


#18

Please check whether aerospike.so is present in mentioned path /usr/lib/php5/20131226/aerospike.so.

Also verify your installation.


#19

It is present at the location -

ls -l /usr/lib/php5/20131226/aerospike.so -rwxr-xr-x 1 root root 4298288 Sep 7 08:15 /usr/lib/php5/20131226/aerospike.so

I guess from the error, it seems the .so is somehow getting build for php 5 rather than php 7, hence the error. I installed again with following steps -

composer require --ignore-platform-reqs aerospike/aerospike-client-php "3.4.9" cd vendor/aerospike/aerospike-client-php/src/aerospike/ find . -name “*.sh” -exec chmod +x {} ; ./build.sh make install

Still same.

Thanks


#20

Finally fixed it. Went all the way back to check what step was wrong.

I was following dependencies required mentioned on the official doc https://github.com/aerospike/aerospike-client-php

sudo apt-get install build-essential autoconf libssl-dev sudo apt-get install php5-dev php-pear # unless PHP was manually installed

The problem was the package php5-dev, it will installing dev and other libraries for php5 env. Instead of that, Used php7.0-dev

Basically follow the dependencies mentioned below with other steps for php7 sudo apt-get install build-essential autoconf libssl-dev sudo apt-get install php7.0-dev

Hope this helps.