在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 clientgitvi ~/.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