最近在學習redis,想在自己服務器上裝個redis,按照百度上的方法裝完之后報錯
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex), /usr/lib64/php/modules/redis.so.so (/usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
,大致意思就是無法加載redis.so這個文件,phpinfo里也看不到redis擴展,我排查了半天路徑,重復安裝了好幾次,還是沒用,最后終於找到了解決的方法,雖然還是報這個錯誤,但是redis擴展是可以用的
這里總結一下我的完整安裝方法
1.下載phpredis壓縮包並解壓
2.進入解壓后的文件夾內(我的文件夾名稱是redis-5.0.2,即cd redis-5.0.2)
3.找到phpize及php-config的位置(我的php是安裝到默認位置/usr/bin/phpize /usr/bin/php-config,如果找不到可以用下面的命令找)
//第一種方式
whereis phpize
whereis php-config
//第二種方式
find / -name "phpize"
find / -name "php-config"
4.在解壓后的redis擴展文件夾內依次執行下面兩條指令
//1.輸入phpize路徑
/usr/bin/phpize
//2.設置php配置文件路徑,我的php-config路徑為/usr/bin/php-config
./configure --with-php-config=/usr/bin/php-config
5.編譯並安裝phpredis擴展
make && make install
執行完后看返回的路徑下有沒有redis.so文件
6.編輯php.ini配置文件,加上如下配置,extension_dir就是第五步的那個存放擴展的路徑
7.進入"/etc/php.d/"文件夾中,創建一個redis.ini文件,內容如下:
;Enable redis extension module
extension=redis.so
然后執行
cat /etc/php.d/redis.ini
8.重啟nginx,再看phpinfo,已經有redis擴展了
————————————————
版權聲明:本文為CSDN博主「暫未成功人士-」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Mr_cq_/article/details/99704488