通过 PECL 安装的 Redis PHP 扩展可以在 Mac M1 上运行吗?
Redis 服务器已使用 Homebrew 和 brew services start redis
成功运行。 PECL Redis 安装程序似乎可以与 sudo pecl install redis 配合使用,给出以下输出:
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
如果我使用 php --ini ,这就是输出:
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 库位于 /opt/homebrew/lib/php/pecl/20190902 中。
有什么方法可以让这个库在 Mac M1 上运行吗?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
arch
运行pecl
以确保架构为arm64
。或者,您可以使用我维护的酿造水龙头(shivammathur/extensions)。
You can run
pecl
witharch
to ensure that the architecture isarm64
.Alternatively, you can use a brew tap I maintain (shivammathur/extensions).
我已经做了同样的事情,就像接受的答案
arch -arm64 sudo pecl install redis
但这并没有立即对我起作用。我需要重新安装redis。
pecl卸载redis
pecl安装redis
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