php 编译 安装swoole 4.4.16
1.下载扩展http://pecl.php.net/package/swoole
[root@VM_0_2_centos ~]# wget -c http://pecl.php.net/get/swoole-4.4.16.tgz
[root@VM_0_2_centos ~]# tar -zxvf swoole-4.4.16.tgz
2.进入解压后的目录
cd swoole-4.4.16/
2.1 查找php 安装目录
root@snake-PC:/proc/3132# find / -name php
/etc/alternatives/php
/etc/cron.d/php
/etc/php
/var/lib/php
/opt/ShenTong/doc/Help/_static/codemirror/mode/php
find: ‘/run/user/117/gvfs’: 权限不够
/run/php
/usr/include/php
/usr/share/php
/usr/lib/dpkg-db/alternatives/php
/usr/lib/php
/usr/bin/php
2.2查找phpize
- 当php编译完成后,php的bin目录下会有phpize这个脚本文件
可以把结果中的都试试,
比如
/usr/local/bin/php -v,
/usr/bin/php -v
php -v
都打印的是7.3 ,
则
root@lua-VirtualBox:/# ll /usr/local/bin/php
lrwxrwxrwx 1 root root 22 Jan 30 05:31 /usr/local/bin/php -> /usr/local/php/bin/php*
root@lua-VirtualBox:/# ll /usr/local/php/bin/php
-rwxr-xr-x 1 root root 47890680 Jan 30 2021 /usr/local/php/bin/php*
说明/usr/local/bin/php 是/usr/bin/php 的软连接,
php 的安装位置就是/usr/local/php/bin/
则说明安装位置是/usr/local/php/bin/
由于phpize 是在当前php 版本安装的目录中
那么phpize位置就是/usr/local/php/bin/phpize
- 假如找不到phpize
3、运行phpize来生成php编译配置
root@snakePC:/data/install/swoole4.4.16#/usr/local/php/bin/phpize
在/data/install/swoole-4.4.16中会生成 configure等等文件,用来编译的
4、运行编译配置检测命令
root@snake-PC:/data/install/swoole-4.4.16# ./configure --with-php-config=/usr/local/php/bin/php-config
解释:
/configure --with-php-config=/php/bin/php-config 编译运行配置,
如果你的服务器上只是装了一个版本的php,
则不需要添加--with-php-config=/php/bin/php-config
只要运行./configure
后面的参数只是为了告诉 /configure 要建立基于哪个版本的php配置。
我的php 配置就在/php/bin/php-config
5、分开执行make和make install来完成安装或者执行
make
root@snake-PC:/data/install/swoole-4.4.16# make install
Installing shared extensions: /usr/lib/php/20180731/
Installing header files: /usr/include/php/20180731/
root@snake-PC:/data/install/swoole-4.4.16# cd /usr/lib/php/20180731/
root@snake-PC:/usr/lib/php/20180731# ls
build ctype.so dom.so fileinfo.so gettext.so json.so mysqlnd.so pdo_aci_71.so pdo_aci.so pdo.so phar.so readline.so shmop.so sockets.so stderr.txt sysvmsg.so sysvshm.so wddx.so xml.so xsl.so
calendar.so curl.so exif.so ftp.so iconv.so mysqli.so opcache.so pdo_aci_72.so pdo_mysql.so pdo_sqlite.so posix.so redis.so simplexml.so sqlite3.so swoole.so sysvsem.so tokenizer.so xmlreader.so xmlwriter.so
8.、更改php.ini 中swoole的路径
extension=/usr/lib/php/20180731/swoole.so
9.再重启php-fpm
比如:
service php7.3-fpm restart
去打印phpinfo(),看swoole版本