tp5命令行報 [BadFunctionCallException] not support: redis

tp5命令行報 [BadFunctionCallException] not support: redis

芝麻開門2015

於 2018-09-30 18:29:49 發佈

閱讀量1.3w
 收藏 1

點贊數
分類專欄: php
版權

php
專欄收錄該內容
145 篇文章2 訂閱
訂閱專欄
記得自己的redis擴展是安裝了的,安裝在mamp環境下的這個目錄/Applications/MAMP/bin/php/php5.6.30/lib/php/extensions/no-debug-non-zts-20131226/redis.so

並且在瀏覽器運行這個代碼也是測試成功的

 

那麼如何一步一步排查呢?

後來才發現PHP在瀏覽器運行的和php cli模式運行不一致,

mamp 環境下使用php版本是5.6.3

而php cli模式下使用的版本是 5.6.25

 

mac自帶PHP,和apache

安裝步驟

git clone https://github.com/phpredis/phpredis.git
cd phpredis
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && make install

查看有麼有安裝上redis擴展

php -m|grep redis

 

最後一張圖就說明安裝上了

 

然後再進行測試

發現報這個錯誤 那麼需要啓動redis服務

 

注意 可能redis.so 不能直接複製到這個目錄/usr/lib/php/extensions/no-debug-non-zts-20131226

是因爲mac系統不允許修改

所以解決方法就是禁掉SIP保護機制,步驟是:
重啓系統按住Command + R   (重新亮屏之後就開始按,象徵地按幾秒再鬆開,出現蘋果標誌,ok)菜單“實用工具” ==>> “終端” ==>> 輸入csrutil disable;執行後會輸出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.再次重啓系統
禁止掉SIP後,就可以順利的安裝了,當然裝完了以後你可以重新打開SIP,方法同上,只是命令是csrutil enable

最後將/modules生成目錄的redis.so文件複製到目錄/usr/lib/php/extensions/no-debug-non-zts-20131226即可
————————————————

                            版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
                        
原文鏈接:https://blog.csdn.net/resilient/article/details/82912610

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章