Mac M2 上使用 Homebrew 安裝 php 并手動編譯 php-redis 后,phpinfo() 缺失 redis 模塊?
在 macos M2 上,使用 Homebrew 安裝 PHP 并手動編譯 php-redis 擴展后,命令行 php -m 顯示 redis 模塊已安裝,php -r 命令也驗證了其功能,但瀏覽器中 phpinfo() 卻無法顯示該模塊。本文分析此問題并提供解決方法。
您已成功驗證命令行環(huán)境下的 redis 模塊:
php -m // 顯示 redis 模塊 php -r "if (new redis() == true){ echo "rn ok rn"; }" // 返回 "ok"
然而,phpinfo() 仍未顯示 redis 模塊。您已確認 php.ini 文件路徑為 /opt/homebrew/etc/php/7.3/php.ini,并已添加 extension=redis 配置。
問題可能出在以下幾個方面:
立即學習“PHP免費學習筆記(深入)”;
-
PHP 版本不一致性: 命令行和 Web 服務器使用的 PHP 版本可能不同。請分別使用 php -v (命令行) 和 phpinfo() (瀏覽器) 查看版本號,確保一致。
-
PHP 配置文件不一致性: phpinfo() 中的 Loaded Configuration File 指示的配置文件路徑可能與您手動修改的 /opt/homebrew/etc/php/7.3/php.ini 不一致。 Web 服務器可能使用了不同的 php.ini 文件。
-
Web 服務器 PHP 配置: apache 或 nginx 等 Web 服務器需要正確配置才能加載 redis 模塊。檢查 Web 服務器配置文件,確保其指向正確的 php.ini 文件并已正確加載 redis 擴展。
-
Web 服務器重啟: 即使配置文件已正確修改,也需要重啟 Web 服務器(例如 Apache 或 Nginx)才能使更改生效。
通過檢查以上四個方面,您應該能夠解決 phpinfo() 中缺失 redis 模塊的問題。如果問題仍然存在,請檢查系統(tǒng)日志或其他相關配置文件以查找更詳細的錯誤信息。