前言
用过宝塔的都知道在宝塔的后台,可以很自由安装php的拓展,但是这些拓展并不是最新的版本,我们在使用一些高性能的拓展的时候一般都是需要最新的版本才可以达到需求实现标准。
安装记录
我是用的方式是官方下载
https://pecl.php.net/package/swoole
我是用的4.4.0
随便创建一个文件夹
mkdir swoole
cd swoole
wget https://pecl.php.net/get/swoole-4.4.0.tgz
tar -zxvf swoole-4.4.0.tgz
cd swoole-4.4.0
phpize && \
./configure && \
make && sudo make install
./configure 如果是宝塔,需要知道决定路径的php-config
这个时候如果出现好多代码,在不断编译和安装,说明基本板上钉钉
如果提示类似如下:
configure: error: Cannot find php-config. Please use --with-php-config=PATH
应该是没找到相关的文件
那就重新写如下:
phpize && \
./configure --with-php-config=/www/server/php/73/bin/php-config && \
make && sudo make install
//这里可能会出现gcc版本低的问题,需要升级gcc版本
/bin/sh /usr/local/src/swoole-4.4.0/libtool --mode=compile g++ -I. -I/usr/local/src/swoole-4.4.0 -DPHP_ATOM_INC -I/usr/local/src/swoole-4.4.0/include -I/usr/local/src/swoole-4.4.0/main -I/usr/local/src/swoole-4.4.0 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/src/swoole-4.4.0 -I/usr/local/src/swoole-4.4.0/include -I/usr/local/src/swoole-4.4.0/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /usr/local/src/swoole-4.4.0/php_swoole_cxx.cc -o php_swoole_cxx.lo
mkdir .libs
g++ -I. -I/usr/local/src/swoole-4.4.0 -DPHP_ATOM_INC -I/usr/local/src/swoole-4.4.0/include -I/usr/local/src/swoole-4.4.0/main -I/usr/local/src/swoole-4.4.0 -I/www/server/php/73/include/php -I/www/server/php/73/include/php/main -I/www/server/php/73/include/php/TSRM -I/www/server/php/73/include/php/Zend -I/www/server/php/73/include/php/ext -I/www/server/php/73/include/php/ext/date/lib -I/usr/local/src/swoole-4.4.0 -I/usr/local/src/swoole-4.4.0/include -I/usr/local/src/swoole-4.4.0/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /usr/local/src/swoole-4.4.0/php_swoole_cxx.cc -DPIC
cc1plus: error: unrecognized command li
标红的地方是你安装php的路径以及bin/php-config,比如我的宝塔安装了好几个版本的php,如何确定用的哪一个呢
php -v
就可以查看系统默认的php版本了
然后应该就可以了
php -m
看看有没有swoole吧
如果还是没有
php.ini加上一行extension=swoole.so 再试试吧,如果还不行,请找大神吧
gcc版本升级方法
注意:安装gcc会很慢的可能得用1个小时以上
7.1执行完后可能会报gcc相关错误,原因是gcc版本过低,我的版本是4.4,直接将4.4版本升到4.8
7.2wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
7.3tar -jxvf gcc-4.8.0.tar.bz2
7.4cd gcc-4.8.0 ./contrib/download_prerequisites
7.5cd …
7.6mkdir gcc-build-4.8.0
7.7cd gcc-build-4.8.0 …/gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7.8# j 后面的是核心数,编译速度会比较快 make -j4
7.9sudo make install
7.10ls /usr/local/bin | grep gcc
7.11update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
7.12gcc -v