最新版Workerman5.1,安装了revolt/event-loop,运行环境为windows10、PHP8.3.8,用下面代码(文档示例代码): 。。。 $worker = new Worker('http://0.0.0.0:8001'); $worker->eventLoop = Fiber::class; // 使用自带的Fiber协程 $worker->onMessage = funct...
之前在windows打包并运行正常,更新console插件后打包就不能运行了: php webman.phar start 提示: Please run 'php windows.php' on windows system...
webman和swow都是最新版,环境linux,使用下面代码查询数据库并返回结果后,退出webman就会报警告: public function index(): Response { $value = \think\facade\Db::query('SELECT NOW() as now, sleep(5)'); //模拟慢查询 return json($value);...
今天测试了一下协程效果,把依赖都更新为最新版(workerman/webman-framework ^2.1、webman/database:~2.1、webman/think-orm:~2.1),然后修改process.php的'eventLoop' => Workerman\Events\Fiber::class,环境是windows,测试代码: public function index(): R...
问题描述 升级了Webman2.1和webman/log1.2.1版本,运行并访问后报错: ReflectionException: Class "support\Db" does not exist in D:\Documents\Desktop\Pleafles\_Yes\PHP\WorkerMan\_Projects\Webman\vendor\webman\log\src\Middleware.php:256...
这两个配置项分别是config/server.php的'event_loop' 和 config/app.php的'request_class',但在config/process.php里都有了新的定义,所以请问是否已经无效了呢?...
我的项目是基于webman的,今天升级时报错: In Install.php line 21: [Error] Call to undefined function Webman\Console\base_path() Exception trace: at D:\Documents\Desktop\Pleafles\_Yes\PHP\WorkerMan\_Projects\Webman\vendor...
我使用Ngix作为代理,Webman提供服务,每分钟有1-2个请求,我查看webman/runtime/logs时,发现每天都有记录日志,也不是很多,几分钟记录1个日志,内容差不多都是这种: [2024-07-11 13:17:17] default.INFO: 120.35.206.38 POST 127.0.0.1:80/api/v1/client/usage [12.1672ms] [webman/log] [...
请问webman中我想在master进程中运行自定义代码,比如访问一个webapi,根据返回结果来定义一些环境、参数或者退出服务,在哪里加比较优雅呢,谢谢~...
问题描述 如题。。。 程序代码或配置 use think\Model; 。。。 class ArticleModel extends Model { protected $name = 'article666'; 。。。 } 重现问题的步骤 无论$name改成什么,它默认连接的表都是Article,将$name改为$table也没用。。 请问这是bug,还是插件本身有限制?还是我哪里忽略了什么关键步...
折腾了一天,把AsyncTcpConnection连接http代理的方式解决了,其实很简单(我是用windows的fiddler开启的代理,用来抓包),http和https的代理端口都是127.0.0.1的8888端口: $new_connection = new AsyncTcpConnection('tcp://127.0.0.1:8888'); 但使用https时无论如何都无法成功,已经测试了以下方案: $n...
问题描述 这里的阻塞任务主要指io,看了官方文档,walkor老大的意思是多设置点进程,但是感觉和协程比起来还是差点意思,又在问答里搜了很多,也有人说放在队列用业务进程来执行,但这样会产生个问题,就是如何给客户端通知呢? 为此搜索到了哪些方案及不适用的原因 链接进程肯定是将任务放在队列(我用redis~)然后直接返回客户端的,然后处理队列中任务的进程如何给那个客户端通知呢?我想了很久,想到的结果: 1、客户端轮询,效...
问题描述 最近在研究openai的接口,它有一个steam功能,就是在curl时设置 CURLOPT_WRITEFUNCTION 属性,可以不停的回调这个函数并输出流到浏览器,官方示例差不多是这样子: $open_ai->completion($opts, function ($curl_info, $data) { echo $data . "<br>"; //不停输出...
可以捕获的情况: Route::group('/adminapi', function() { Route::options('/v1/setting/user', [app\controller\adminapi\v1\setting\UserController::class, 'index']); //或者:Route::any('/v1/setting/user', [app\controller\...
今天更新了下webman,启动后提示 stream_socket_server(): unable to connect to tcp://0.0.0.0:8099 (以一种访问权限不允许的方式做了一个访问套接字的尝试。 ) in file F:\_Projects\ManagementPlatform\Server\webman\vendor\workerman\workerman\Worker.php on li...
我看了 https://www.workerman.net/q/7564 并根据walkor大佬的建议,在 support/helper.php 中定义了: function env($key, $default = null) { static $env_config = []; if (!$env_config) { $env_config = include config_pat...
TP框架对ORM默认是短链接,一次业务连接使用再断开,而且默认使用Model时会查一次表结构,Webman集成TP-orm,所以Webman为了提高效率的话会复用数据库和Redis链接,而且每个进程都会维护一个连接。。。吧? 如果是这样,那么高并发情况下还得做一些处理,根据业务情况比如数据库加锁什么的对吗?(Redis因为单线程就不必了)...