workerman/crontab中Implicit conversion from float

IceCry

问题描述

已解决:

处理vendor/workerman/workerman/Events/Select.php中的$_selectTimeout为int型

问题:
ThinkPHP8 (依赖PHP8) 中使用 workerman/crontab 报错提示:Implicit conversion from float 37999996.185302734 to int loses precision

程序代码

php think timer start

报错信息

Implicit conversion from float 37999996.185302734 to int loses precision

截图报错信息里报错文件相关代码

截图

操作系统及workerman/webman等框架组件具体版本

基于thinkphp8
workerman/workerman v3.5.34
workerman/crontab v1.0.2

379 1 0
1个回答

latin

报错里没有具体的错误文件,不知道是哪里报的错,无法解决的

  • IceCry 2023-11-13

    应该是php8版本的兼容问题,具体哪行代码我也没找 :(

  • chenmxgg 2023-11-29

    兄弟们你们解决了吗,我使用8.1也遇到这个问题了

  • u2nyakim 2024-02-02

    已排查Workerman\Events\Select::class -> loop() 274行_selectTimeout属性传递到usleep(int)函数精度问题导致,使用int强转一下 usleep((int)$this->_selectTimeout)

  • u2nyakim 2024-02-02

    thinkphp workerman/workerman v3.5.34 草了,tp compoer的版本怎么这么低,草

🔝