当前位置: 代码网 > it编程>编程语言>Php > 为什么在mac M2上使用brew安装PHP后,手动编译安装的php-redis模块在phpinfo()中未显示?

为什么在mac M2上使用brew安装PHP后,手动编译安装的php-redis模块在phpinfo()中未显示?

2025年03月30日 Php 我要评论
mac m2系统下使用brew安装php后,手动编译安装php-redis扩展却无法在phpinfo()中显示的疑难解答在 macos m2 系统上,使用 homebrew 安装 php 后,一些用户

为什么在mac m2上使用brew安装php后,手动编译安装的php-redis模块在phpinfo()中未显示?

mac m2系统下使用brew安装php后,手动编译安装php-redis扩展却无法在phpinfo()中显示的疑难解答

在 macos m2 系统上,使用 homebrew 安装 php 后,一些用户在手动编译并安装 php-redis 扩展时遇到问题:命令行可以正常使用 redis 扩展,php -m 命令也能显示 redis,php -r "if (new redis() == true){ echo "\r\n ok \r\n"; }" 命令也返回 ok,但 phpinfo() 却无法显示 redis 相关信息。

已确认 php.ini 文件路径为 /opt/homebrew/etc/php/7.3/php.ini,并通过 php -i | grep loaded 验证了该文件已加载,且已在其中添加了 extension=redis 配置。

问题根源可能在于 php 配置文件与 cli 环境的差异,以及php-fpm的配置。以下提供排查步骤:

  1. 验证php版本一致性: 使用 php -v 查看命令行 php 版本,然后通过浏览器访问 phpinfo() 页面,确认 web 服务器使用的 php 版本是否与命令行版本一致。版本不一致是常见原因。

  2. 检查php-fpm配置: 如果使用 php-fpm,需检查其配置文件(通常位于 /opt/homebrew/etc/php/7.3/php-fpm.d/ 目录下),确保其加载了正确的 php.ini 文件,并且该文件中包含 extension=redis 配置。

  3. 重启web服务器: 修改配置文件后,务必重启 web 服务器使更改生效(例如,使用 sudo nginx -s reload 重启 nginx)。

  4. 确认扩展文件路径: 检查 php.ini 文件中 extension_dir 的设置是否正确,并确保 redis.so 文件位于该目录下。使用 php -i | grep extension_dir 查看当前扩展目录。

  5. 权限问题: 确保 web 服务器拥有读取 redis.so 文件和 php.ini 文件的权限。如有必要,调整文件权限。

  6. 编译选项: 确认编译php-redis时使用的php版本与系统php版本一致,并且编译参数正确。

如果以上步骤仍无法解决问题,建议检查系统日志和 php 错误日志,获取更详细的错误信息,以便进一步排查。 仔细检查每个步骤,确保所有配置都正确无误。

以上就是为什么在mac m2上使用brew安装php后,手动编译安装的php-redis模块在phpinfo()中未显示?的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com