VmWare centOs7 lnmp 环境 安装 swoole记录

2 篇文章 0 订阅
2 篇文章 0 订阅

总结一下

之所以第一次安装失败,应该是检查配置环境./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets --enable-openssl --enable-http2这一步骤 ,没有选择 打开sockets 、openssl 、http2这几个选项。
所以导致安装不成功,也就找不到swoole.so这个文件了
所以在整个过程中,'extension=swoole.so’添加的路径也是不对的,因为安装不成功,该文件不存在

1、正确的安装swoole成功记录

下载swoole
wget https://pecl.php.net/get/swoole-4.8.9.tgz
下载完之后如下图

在这里插入图片描述

解压缩
tar -zxvf swoole-4.8.9.tgz
出现解压后的安装包
效果如下图

在这里插入图片描述

在 /usr/local/ 下新建seoole文件夹,知道安装位置
mkdir /usr/local/swoole/

在这里插入图片描述

拷贝 /home 目录下的 swoole-4.8.9文件夹 到 /usr/local/swoole/中
cp -r /home/swoole-4.8.9/ /usr/local/swoole/

在这里插入图片描述

进入 /usr/local/swoole/swoole-4.8.9 文件夹中
执行如下命令
./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets --enable-openssl --enable-http2

继续执行如下命令
make clean && make && sudo make install

编译安装正确完成后,会显示 swoole.so的文件路径及 php.ini的 文件路径。此处忘记截图

连续查找 swoole.so 与 php.ini文件路径,方便复制路径并编辑php.ini配置文件

在这里插入图片描述

执行 如下命令。
vim /usr/local/php/etc/php.ini
将 extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/swoole.so 加入 /usr/local/php/etc/php.ini 文件中

或者用 如下命令 执行上述编辑
echo ‘extension =/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/swoole.so’ >> /usr/local/php/etc/php.ini

切记,lnmp环境中,如下添加方式’extension=swoole.so’应该是不对的。

echo ‘extension=swoole.so’ >> /usr/local/php/etc/php.ini

此时,可以找到phpfpm 的master process的进程id,kill掉该id, 实现平滑重启php-fpm
执行如下命令,查找进程id
ps -aux | grep php-fpm

效果如图
在这里插入图片描述
执行如下命令,kill掉master进程id
kill -SIGUSR2 process_id 此处即为 kill -SIGUSR2 94468

不过我执行完以上命令后,又执行了一次如下命令,使lnmp重启
lnmp restart
在这里插入图片描述

至此,swoole,成功安装完成,

输入 php -m 验证一下
在这里插入图片描述

进入项目文件夹,php运行 文件,打开 swool服务,可以看到 输出的123 以及 start success的提示,此为swoole服务开启成功
(提示,如果是linux新手,此处要先研究下,虚拟机中的项目文件夹如何绑定宿主机本地文件夹,以便宿主机本地开发,虚拟机验证开发成果)
在这里插入图片描述

最后,输入访问 域名 验证一下

在这里插入图片描述

成功完结,记录一下。

2、踩坑安装失败记录

下载swoole
wget https://pecl.php.net/get/swoole-4.8.9.tgz
下载完之后如下图

在这里插入图片描述

解压缩
tar -zxvf swoole-4.8.9.tgz
出现解压后的安装包
效果如下图

在这里插入图片描述

进入安装包
cd swoole-4.8.9

//执行命令
phpize &&
./configure &&
make && sudo make install

执行后会生成以下文件
说明:其实,在这一步,并没有在安装包文件下找到 modules文件夹。这也造成了后续的安装失败
用如下命令查找文件也没找到)
find / -name swoole.so
在这里插入图片描述
这个时候可以查看一下PHP 的php.ini 的路径
在这里插入图片描述
有时候lib 里面没有php.ini的,在其他地方复制进去就好了!
在lib 中找到 .so 的文件的文件夹,讲刚才的swoole.so 的文件放进去就好了,像这样
(说明:其实,正确的寻找so文件应该在这边步骤,详情参看 1、正确的安装swoole成功记录)
在这里插入图片描述

然后再php.ini 中加上extension=swoole.so ,保存,重启PHP 。
因为我是用php-fpm,我是直接kill 了再打开
输入命令 php -m 查看PHP 加载模块
在这里插入图片描述

在我配置了php.ini文件后,
输入 php -m 并没有看到swoole插件
所以运行文件查看效果的时候就报错了。

报错类似如下:
PHP Warning: PHP Startup: Unable to load dynamic library ‘swoole.so’ (tried: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/swoole.so

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值