17

I installed nginx, php, php-fpm, php-pecl-redis by yum.

All of them work but the last one.

When I run /usr/sbin/php-fpm, I got this:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/redis.so' - /usr/lib/php/modules/redis.so: undefined symbol: igbinary_unserialize in Unknown on line 0

I don't know what igbnary_unserialize means and how to fix it.

I checked the redis.so file under right path. I add extension=redis.so to php.ini

PHP version: 5.3.3

PhpRedis version: 2.2.7

2
  • Are you able to get a php_info()? Commented Nov 30, 2015 at 10:59
  • @BobvanLuijt I can get phpinfo(),If you mean that. But I still can not find reids info that page Commented Nov 30, 2015 at 12:18

6 Answers 6

35

I had the same issue. I'm on Ubuntu 16.04 LTS. Running sudo apt-get install php-igbinary resolved the issue for me. I have other issues, but that's what solved this one.

Sign up to request clarification or add additional context in comments.

5 Comments

After upgrading from php7.0 to 7.1, redis was not working for me.. was scratching my head and doing all stuff said on diff forums ...finally this worked..Thanks Matt!
After upgrading to php 7.2 I was having the same issue that fixed it for me. Thank you.
This should be the answer :)
Same for me when updating to php7.3 (from 7.0) for an update of Nextcloud (15->16). (Linux Mint Debian Edition).
Meanwhile, there's no version for php 7.4; The following additional packages will be installed: php5.6-igbinary php7.0-igbinary php7.1-igbinary php7.2-igbinary php7.3-igbinary php8.0-igbinary
17

For people who are upgrading their php from 7.0 to 7.4 like me, and not able to get php-redis working. These are the steps I used after following the answers above.

1) remove Redis

sudo apt purge php-redis

2) Install Igbinary

sudo apt-get install php-igbinary

3) Install php-redis again

sudo apt-get install php-redis

I did the steps above because it seems only php7.0 is recognising the php-redis install but not the currently enabled php7.4

I also recommend removing other versions of PHP if you have should your problem continue unsolved.

1 Comment

Straight up accurate answer.
3

On Ubuntu 20 and PHP 7.4 I did this and it worked :

sudo apt purge php-redis 
sudo apt install php-redis php7.4-redis

To test the Redis server:

php --ri redis

or

redis-cli ping
redis-cli info stats

Comments

2

Probably an issue with igbinary, is this installed? (try for example: cat /etc/php.d/igbinary.ini).

Here you can find and install igbinary

4 Comments

What is the outcome of php_info()?
is php_info() a correct function? I got 500 err after insert that.
What if you -in terminal- type: php php_info();
~O~,but i got the same message like in broswer.I'm going to reinstall the environment
2

Related to this bug https://bugs.launchpad.net/ubuntu/+source/php-redis/+bug/1762935

You should remove php-redis from packages: apt purge php-redis , and install it via pecl install redis

You should add "extension=redis.so" to php.ini

and remove redis from config.d in your php directory:

rm /etc/php/7.2/fpm/conf.d/@20-redis.ini

and

rm /etc/php/7.2/cli/conf.d/@20-redis.ini

restart php fpm and you will see that problem solved

Comments

1

just resolve the same problem:

php-pecl-redis installed by yum will cause this problem. so you need to install the php-redis manually. wget the package and phpize - configure - make ....

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.