在mac M2上使用brew安裝的PHP手動編譯安裝php-redis后,為什么phpinfo()中沒有顯示redis模塊?

在mac m2上使用brew安裝的php手動編譯安裝php-redis后,phpinfo()中為什么沒有顯示redis模塊?

在mac m2上使用brew安裝php并手動編譯安裝php-redis后,用戶發現盡管在命令行中通過php -m命令和php -r腳本確認redis模塊已經正確安裝和加載,但當嘗試通過phpinfo()函數查看php配置時,redis模塊卻并未在頁面上顯示出來。用戶已經確認在php.ini文件中添加了extension=redis的配置,并且通過php -i | grep loaded命令驗證了配置文件路徑正確。

問題的原因可能在于,當通過brew安裝php時,默認的php配置文件路徑和手動編譯安裝的擴展模塊路徑可能存在差異。具體來說,盡管在/opt/homebrew/etc/php/7.3/php.ini中添加了extension=redis,但如果redis模塊的動態鏈接庫(.so文件)不在php能夠查找的路徑中,php就無法正確加載該擴展。

為了解決這個問題,用戶需要確保redis模塊的動態鏈接庫文件路徑正確,并且在php的配置文件中正確指定該路徑。以下是解決步驟:

  1. 確認redis模塊的路徑:在編譯php-redis擴展時,動態鏈接庫文件(如redis.so)通常會被編譯到某個目錄中。可以通過查找該文件的位置來確認,例如:

    find / -name "redis.so"

    假設找到的路徑為/usr/local/lib/php/extensions/no-debug-non-zts-20180731/redis.so。

    立即學習PHP免費學習筆記(深入)”;

  2. 更新php.ini文件:編輯/opt/homebrew/etc/php/7.3/php.ini文件,確保extension指令指向正確的redis模塊路徑:

    extension=/usr/local/lib/php/extensions/no-debug-non-zts-20180731/redis.so
  3. 重啟php服務:如果php通過某個服務運行(如apachenginx),請重啟該服務以確保新的配置生效。
  4. 驗證:再次運行phpinfo(),應該能夠在輸出的頁面中看到redis模塊的相關信息。

通過上述步驟,用戶應該能夠在phpinfo()輸出中看到redis模塊,從而確認redis擴展已經成功加載并生效。

以上就是在mac M2上使用brew安裝的PHP手動編譯安裝php-

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享