NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so'


最近在學習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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM