nrk/phpiredis

PHP: Unable to load dynamic library

tndhl opened this issue · 8 comments

tndhl commented

I have compiled phpiredis with following commands:

git clone https://github.com/nrk/phpiredis.git
cd phpiredis
phpize && ./configure --enable-phpiredis
make && make install

And included library as follows: echo extension=/usr/lib64/php/5.5/modules/phpiredis.so > /etc/php.d/redis.ini

But I got this error:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/phpiredis.so' - /usr/lib64/php/5.5/modules/phpiredis.so: undefined symbol: redisReplyReaderGetError in Unknown on line 0

Could any one help?

redisReplyReaderGetError support removed in version 1.0.0: https://github.com/redis/hiredis/blob/master/CHANGELOG.md

Pull request #47 should fix this issue.

nrk commented

Please note that hiredis v1.0.0 is a work-in-progress and it's still unreleased so you should stick with hiredis v0.13 for now. For this reason I removed the bug label, I'll decide how to handle the transition in a few days after merging the php7 branch.

@nrk any follow up?

Same error in 2019:
php: symbol lookup error: /usr/lib/php/20180731/phpiredis.so: undefined symbol: redisReplyReaderCreate

Is this package still under development @nrk?

@fridzema you need to use a hiredis v0.13

'Note': Installing the phpiredis extension requires php to install both the APC and APCU extensions in addition to Hiredis, otherwise the dynamic library cannot be loaded.

nrk commented

Chenges to support Hiredis >= 0.14, >= 1.0 have been merged in the v1.1 branch, the new minor release will be shipped in a few days is everything is fine. Thank you.