Mac安装swoole并解决安装错误
Song •
3007 次浏览 •
0个评论 •
2020年05月11日
一、Swoole安装
1、PHP版本条件
- Swoole-1.x需要 PHP-5.3.10 或更高版本
- Swoole-2.x需要 PHP-7.0.0 或更高版本
- Swoole-4.x需要 PHP-7.1.0 或更高版本
1、源码安装
前往swoole/swoole-src下载源码。前往安装:
cd swoole-src && \
phpize && \
./configure && \
make && sudo make install
注意要查看查看结尾安装路径
,然后要注意一下Warning: mkdir(): File exists in System.php
提示不影响安装使用。
Build process completed successfully
Installing '/usr/local/Cellar/php@7.3/7.3.17_1/include/php/ext/swoole/config.h'
Installing '/usr/local/Cellar/php@7.3/7.3.17_1/pecl/20180731/swoole.so'
Warning: mkdir(): File exists in System.php on line 294
PHP Warning: mkdir(): File exists in /usr/local/Cellar/php@7.3/7.3.17_1/share/php@7.3/pear/System.php on line 294
Warning: mkdir(): File exists in /usr/local/Cellar/php@7.3/7.3.17_1/share/php@7.3/pear/System.php on line 294
ERROR: failed to mkdir /usr/local/Cellar/php@7.3/7.3.17_1/pecl/20180731
2、使用swoole安装
pecl install swoole
注意要查看查看结尾安装路径
,然后要注意一下Warning: mkdir(): File exists in System.php
提示不影响安装使用。
/bin/sh /private/var/www/swoole-src-4.5.0/libtool --mode=install cp ./swoole.la /private/var/www/swoole-src-4.5.0/modules
cp ./.libs/swoole.so /private/var/www/swoole-src-4.5.0/modules/swoole.so
cp ./.libs/swoole.lai /private/var/www/swoole-src-4.5.0/modules/swoole.la
----------------------------------------------------------------------
Libraries have been installed in:
/private/var/www/swoole-src-4.5.0/modules
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable
during execution
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
Password:
mkdir: /usr/local/Cellar/php@7.3/7.3.17_1/pecl: File exists
mkdir: /usr/local/Cellar/php@7.3/7.3.17_1/pecl: No such file or directory
make: *** [install-modules] Error 1
3、PHP
中引入配置文件
然后通过php -i | grep php.ini
定位php.ini
文件所在位置,并打开该配置文件,在文件末尾shift + G
追加如下内容:
[swoole]
extension=/private/var/www/swoole-src-4.5.0/modules/swoole.so
最后重启一下php
即可:
sudo service php7.3-fpm restart
执行php-m
看到swoole
代表已成功安装。
4、异常解决方案
如果引入失败出现PHP Warning: PHP Startup: Unable to load dynamic library '/ussr/lib/php/20180731/swoole.so'
报错,则是swoole.so
文件位置不对。可以前往/usr/lib/php/
的时间文件下查找是否有swoole.so
如:
/usr/lib/php/20180731/
最后记得重启php
二、快速上手
在test.php中写入如下代码。
<?php
// 表明服务器启动后监听本地 9051 端口
$server = new swoole_http_server('127.0.0.1', 9501);
// 服务器启动时返回响应
$server->on("start", function ($server) {
echo "Swoole http server is started at http://127.0.0.1:9501\n";
});
// 向服务器发送请求时返回响应
// 可以获取请求参数,也可以设置响应头和响应内容
$server->on("request", function ($request, $response) {
$response->header("Content-Type", "text/plain");
$response->end("Hello World\n");
});
// 启动 HTTP 服务器
$server->start();
执行php test.php
即可。
这样,表示服务器已经启动并且在监听请求了,到浏览器中访问 http://127.0.0.1:9501,即可获取服务器输出响应内容:
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
热门文章
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
-
electron安装使用better-sqlite3并解决NODE_MODULE_VERSION xxx. This version of Node.js requires 2024-11-06
-
Zerotier+Moon+Nginx实现内网穿透搭建网站 2024-08-23
更多相关好文