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