Ankit Jain
Ankit Jain

Reputation: 672

Install phpredis MAC OSX

Can anyone help me install php-redis in MAC OSX .

brew install php-redis

not working.

pecl install php-redis

also not working getting -

invalid package name/package file "php-redis".

Homebrew Error:

homebrew_error

Upvotes: 42

Views: 75468

Answers (7)

Abdul Rahman A Samad
Abdul Rahman A Samad

Reputation: 1152

If what mwal wrote above doesn't work (please try their answer first),

first, try to uninstall first (if you have it but broken):

sudo pecl uninstall redis 

and after that run:

sudo pecl install redis

After that, ini the php.ini, use full path for the extension.

Mine was /usr/local/Cellar/[email protected]/7.3.21/pecl/20180731/redis.so (assuming you are using [email protected])

so at the top of my php.ini file is like this:

extension="/usr/local/Cellar/[email protected]/7.3.21/pecl/20180731/redis.so"

Upvotes: 13

Eliyas Hossain
Eliyas Hossain

Reputation: 620

If someone gets an error during sudo pecl install redis

Warning: mkdir(): File exists in System.php on line 294

PHP Warning: mkdir(): File exists in /opt/homebrew/Cellar/-----/pear/System.php on line 294

that means you need to create the broken directory manually. Try to create the directory...

pecl config-get ext_dir | pbcopy
mkdir -p {paste clipboard value}
# in my case, it was
mkdir -p /opt/homebrew/lib/php/pecl/20200930

Now try to install any pecl extensions.

sudo pecl install redis

After installing any extension, restart php

brew services restart php

Happy coding :)

Upvotes: 8

Lee Chee Kiam
Lee Chee Kiam

Reputation: 12058

Here are steps to use pickle, for PHP >= 7.3 (tested with 8.1):

  1. brew install pickle
  2. pickle install redis
  3. Find your php.ini location via php -i|grep php.ini
  4. Edit the php.ini, insert extension=redis. Preferable at Dynamic Extensions section.
  5. No restart of Apache httpd service is required. You may test your PHP code with Redis

Bonus

If you use VS Code, to enable intellisense / auto complete, at Preference -> paste intelephense.stubs at Search setting box -> Add Item -> select redis.

Upvotes: 2

Dev_meno
Dev_meno

Reputation: 124

I have tried all these solutions but didn't work for me for a while so I tried this link https://developer.redis.com/develop/php/ from the original docs and it works as charm

Upvotes: 0

Fatih
Fatih

Reputation: 19

If you got the following error,

Please make sure the PHP Redis extension is installed and enabled

despite doing everything in the verified answer above, try valet restart . It worked for me

Upvotes: 0

mwal
mwal

Reputation: 3103

As of 2019, with homebrew php7.2 and up, pecl is now installed by default alongside the php binaries.

To see this for yourself type which pecl.

Steps to install

  1. Check your version of redis, then find a suitable version of the extension here.

  2. If unfamiliar with pecl, type pecl to see the options.

  3. Issue pecl install redis-5.0.2. (or your version). Enter no to each question asked if you're not sure.

  4. If that succeeds check the new file it created at: /usr/local/lib/php/pecl/20180731/redis.so

  5. The install will have added extension="redis.so" to top of your php ini. Check that by opening the file /usr/local/etc/php/7.3/php.ini. (assuming you're on 7.3 there)

  6. brew services restart php.

  7. php -i | grep Redis

Redis Support => enabled
Redis Version => 5.0.2

This is what I just did in September 2019 and it works for me.

Upvotes: 58

Nanhe Kumar
Nanhe Kumar

Reputation: 16297

git clone https://www.github.com/phpredis/phpredis.git
cd phpredis
phpize && ./configure && make && sudo make install

Add extension=redis.so in your php.ini

brew services restart [email protected]
make test

You can check working or not

php -r "if (new Redis() == true){ echo \"\r\n OK \r\n\"; }"

Upvotes: 85

Related Questions