CentOS編譯swoole 的hiredis遇到的坑

    在centos6.8的環境下,最開始編譯swoole不帶任何參數,沒任何問題。今天在測試swoole的異步redis。編譯hiredis後,再執行swoole相關測試腳本,總提示以下錯誤:php

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/swoole.so' - libhiredis.so.0.13: cannot open shared object file: No such file or directory in Unknown on line 0

    關於相似的問題,swoole官方文檔也有相關說明,html

可能遇到的問題

php -m 發現swoole消失或者是經過php --ri swoole沒有顯示async redis clientgit

vi ~/.bash_profile
在最後一行添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bash_profile

    但本身遇到的問題,和官方說明不一樣。本身在php -m中也能找到swoole擴展。但執行swoole相關腳本就報錯。最終解決方法以下。github

    (1)添加路徑redis

vi ~/.bash_profile
在最後一行添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.bash_profile

    (2)從新編譯hiredscentos

    cd到hireds解壓目錄:(下載目錄https://github.com/redis/hiredis/releases)bash

make -j
sudo make install
sudo ldconfig

    (3)添加swoolehiredis.confswoole

cd /etc/ld.so.conf.d
echo "/usr/local/lib" >> swoolehiredis.conf

    (4)從新編譯swoole異步

./configure --enable-async-redis
make clean
make -j
sudo make install

        最後重啓php便可。service php-fpm reloadasync

        swoole官方也有常見錯誤解答:https://wiki.swoole.com/wiki/page/438.html

相關文章
相關標籤/搜索