The Redis server is running successfully using Homebrew with brew services start redis
.
The PECL Redis installer appears to work with sudo pecl install redis
, giving the following output:
Build process completed successfully
Installing '/opt/homebrew/Cellar/[email protected]/7.4.28/pecl/20190902/redis.so'
install ok: channel://pecl.php.net/redis-5.3.7
Extension redis enabled in php.ini
If I use php --ini
, this is the output:
Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /opt/homebrew/lib/php/pecl/20190902/redis.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/redis.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20190902/redis.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e')), '/usr/local/lib/redis.so' (no such file), '/usr/lib/redis.so' (no such file)), /opt/homebrew/lib/php/pecl/20190902/redis.so.so (dlopen(/opt/homebrew/lib/php/pecl/20190902/redis.so.so, 0x0009): tried: '/opt/homebrew/lib/php/pecl/20190902/redis.so.so' (no such file), '/usr/local/lib/redis.so.so' (no such file), '/usr/lib/redis.so.so' (no such file))) in Unknown on line 0
The redis.so library is in /opt/homebrew/lib/php/pecl/20190902.
Is there any way to get this library working on Mac M1?
2
Answers
You can run
pecl
witharch
to ensure that the architecture isarm64
.Alternatively, you can use a brew tap I maintain (shivammathur/extensions).
I had the same problem.
Basically, I have done the same like accepted answer
arch -arm64 sudo pecl install redis
But that didn’t work for me immediately. I needed to reinstall redis.
pecl uninstall redis
pecl install redis
And after that it finally worked. I hope that it will help somebody, I spent on this problem few hours.