首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
源码编译错误
### 问题描述 源码编译错误 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.5.4 php 7.1.2 centos 7 linux kernel 4.18.20 gcc 4.8.5 ### 相关代码 /php/include/php/TSRM -I/opt/web/phpc/php/include/php/Zend -I/opt/web/phpc/php/include/php/ext -I/opt/web/phpc/php/include/php/ext/date/lib -I/home/work/swoole-src-4.5.4 -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /home/work/swoole-src-4.5.4/src/protocol/ssl.cc -o src/protocol/ssl.lo g++ -I. -I/home/work/swoole-src-4.5.4 -DPHP_ATOM_INC -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/main -I/home/work/swoole-src-4.5.4 -I/opt/web/phpc/php/include/php -I/opt/web/phpc/php/include/php/main -I/opt/web/phpc/php/include/php/TSRM -I/opt/web/phpc/php/include/php/Zend -I/opt/web/phpc/php/include/php/ext -I/opt/web/phpc/php/include/php/ext/date/lib -I/home/work/swoole-src-4.5.4 -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /home/work/swoole-src-4.5.4/src/protocol/ssl.cc -fPIC -DPIC -o src/protocol/.libs/ssl.o /home/work/swoole-src-4.5.4/src/protocol/ssl.cc: In function ‘const SSL_METHOD* swSSL_get_method(swSSL_option*)’: /home/work/swoole-src-4.5.4/src/protocol/ssl.cc:73:28: error: ‘DTLS_method’ was not declared in this scope return DTLS_method(); ^ /home/work/swoole-src-4.5.4/src/protocol/ssl.cc: In function ‘int swSSL_check_name(const char*, ASN1_STRING*)’: /home/work/swoole-src-4.5.4/src/protocol/ssl.cc:511:7: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] s = name; ^ make: *** [src/protocol/ssl.lo] Error 1
发布于5年前 · 0 次浏览 · 来自
提问
lg430
### 问题描述 源码编译错误 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.5.4 php 7.1.2 centos 7 linux kernel 4.18.20 gcc 4.8.5 ### 相关代码 /php/include/php/TSRM -I/opt/web/phpc/php/include/php/Zend -I/opt/web/phpc/php/include/php/ext -I/opt/web/phpc/php/include/php/ext/date/lib -I/home/work/swoole-src-4.5.4 -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /home/work/swoole-src-4.5.4/src/protocol/ssl.cc -o src/protocol/ssl.lo g++ -I. -I/home/work/swoole-src-4.5.4 -DPHP_ATOM_INC -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/main -I/home/work/swoole-src-4.5.4 -I/opt/web/phpc/php/include/php -I/opt/web/phpc/php/include/php/main -I/opt/web/phpc/php/include/php/TSRM -I/opt/web/phpc/php/include/php/Zend -I/opt/web/phpc/php/include/php/ext -I/opt/web/phpc/php/include/php/ext/date/lib -I/home/work/swoole-src-4.5.4 -I/home/work/swoole-src-4.5.4/include -I/home/work/swoole-src-4.5.4/thirdparty/hiredis -DHAVE_CONFIG_H -g -O2 -Wall -Wno-unused-function -Wno-deprecated -Wno-deprecated-declarations -std=c++11 -c /home/work/swoole-src-4.5.4/src/protocol/ssl.cc -fPIC -DPIC -o src/protocol/.libs/ssl.o /home/work/swoole-src-4.5.4/src/protocol/ssl.cc: In function ‘const SSL_METHOD* swSSL_get_method(swSSL_option*)’: /home/work/swoole-src-4.5.4/src/protocol/ssl.cc:73:28: error: ‘DTLS_method’ was not declared in this scope return DTLS_method(); ^ /home/work/swoole-src-4.5.4/src/protocol/ssl.cc: In function ‘int swSSL_check_name(const char*, ASN1_STRING*)’: /home/work/swoole-src-4.5.4/src/protocol/ssl.cc:511:7: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive] s = name; ^ make: *** [src/protocol/ssl.lo] Error 1
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-09-28
lg430
另外安装ext-async扩展的时候, 也没有匹配的版本导致安装不了, 难受
赞
0
回复
2020-09-29
Rango
回复
lg430
你的项目还在使用`ext-async`么?可以考虑换成协程模式。 这个问题已经在 `github master`分钟中修复了,是低版本`SSL`的兼容性问题。
赞
0
回复
2020-09-30
lg430
回复
Rango
我这里是一个tcp server, 在addProcess单独开的进程中用这个异步客户端, 来实现一个长连接, 这个长连接可以接收tcp主动推送, 会调用onReceive即时处理. ``` $client = new \Swoole\Client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); $client->on('Connect', [$this, 'onConnect']); $client->on('Receive', [$this, 'onReceive']); $client->on('Close', [$this, 'onClose']); $client->on('Error', [$this, 'onError']); ``` 但是协程客户端在各个worker中没法即时处理接收到的推送消息(如Swoole\Coroutine\Client), 且分散在多个worker中也会有多个tcp链接(我这里只需要一个全局的长连接就行). 能帮忙解答一下吗?
赞
0
回复
2020-09-30
鲁飞
回复
lg430
一样的,addProcess中使用协程client,while ture去收就可以
赞
0
回复