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