在Mac M2上使用Brew安裝的php手動編譯安裝php-redis后,phpinfo()中為何不見redis擴展?
在mac m2上使用brew安裝php后,如果手動編譯并安裝了php-redis擴展,你可能會發(fā)現(xiàn)雖然命令行中可以正常使用redis擴展,但在通過phpinfo()函數(shù)查看時,redis擴展卻沒有顯示出來。下面我們來探討一下這個問題及其解決方法。
安裝php-redis后,執(zhí)行命令行php -m可以看到redis模塊,并且通過php -r “if (new Redis() == true){ echo “rn OK rn”; }”命令返回OK,說明redis擴展確實已經(jīng)正確安裝。然而,當你創(chuàng)建一個新的PHP文件a.php并嘗試通過phpinfo()來查看PHP配置時,卻發(fā)現(xiàn)redis擴展并未顯示在頁面上。
為了找出原因,我們需要檢查PHP的配置文件路徑。在phpinfo()輸出的信息中,可以看到.ini配置文件路徑為/opt/homebrew/etc/php/7.3/php.ini。為了確認這個路徑,我們在命令行中運行php -i | grep Loaded,得到的輸出顯示Loaded Configuration File => /opt/homebrew/etc/php/7.3/php.ini,確認了我們正在使用的是這個配置文件。
在檢查/opt/homebrew/etc/php/7.3/php.ini文件后,發(fā)現(xiàn)其中已經(jīng)添加了extension=redis這一行,這說明我們已經(jīng)正確地配置了redis擴展。然而,問題依然存在,phpinfo()中為什么看不到redis擴展呢?
這里需要注意的是,Mac M2上使用Brew安裝的PHP可能有多個PHP版本和配置文件。我們需要確保我們正在使用的PHP版本和配置文件是正確的。以下是一些可能的解決方法:
立即學習“PHP免費學習筆記(深入)”;
- 檢查PHP版本:確認你正在使用的PHP版本是否與配置文件匹配。你可以通過php -v命令來查看當前使用的PHP版本。
- 確認擴展加載路徑:確保extension_dir路徑正確。你可以通過php -i | grep extension_dir來查看當前的擴展路徑,并確保你的redis擴展文件位于該路徑下。
- 重啟PHP服務:有時候,重啟PHP服務可以解決配置文件未生效的問題。你可以通過brew services restart php來重啟PHP服務。
- 檢查權限和所有權:確保你的配置文件和擴展文件的權限和所有權設置正確,避免由于權限問題導致的擴展無法加載。
通過以上步驟,你應該能夠找到并解決phpinfo()中redis擴展未顯示的問題。如果問題依然存在,建議進一步檢查系統(tǒng)日志或PHP錯誤日志,尋找更多線索。