返回列表 发帖
查看: 1276|回复: 6

[已处理] mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)

6

主题

28

回帖

44

积分

初学乍练

贡献
0 点
金币
5 个
发表于 2023-4-8 16:33:14 | 显示全部楼层 |阅读模式
BUG反馈
程序版本: X3.5
浏览器: 其他(请在帖子中详细说明浏览器) 
BUG地址: 隐藏内容
BUG截图: -
测试用户名: 隐藏内容
测试密码: 隐藏内容
频繁出现
Discuz! X3.5 Release 20230316 PHP8.2

discuz后台 工具 » 运行记录 » 系统错误
mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)
PHP:misc.php#require(%s):0096
source/module/misc/misc_seccode.php#seccode->seccode->display():0187
source/class/class_seccode.php#seccode->seccode->image():0042
source/class/class_seccode.php#seccode->seccode->giffont():0064
source/class/class_seccode.php#mt_rand():0309
source/class/class_seccode.php#break():0309
User: uid=; IP=; RIP: Request: /misc.php?mod=seccode&mobile=2&update=64838&idhash=cSDZvz

1 贡献

最佳答案

source\class\class_seccode.php
找到
  1. $y = mt_rand(0, $this->height - $font[$i]['height']);
复制代码

修改为
  1. $y = mt_rand(0, max(0, $this->height - $font[$i]['height']));
复制代码
回复

使用道具 举报

5

主题

70

回帖

129

积分

渐入佳境

贡献
8 点
金币
6 个
发表于 2023-4-8 16:49:36 | 显示全部楼层
错误的原因是“mt_rand()”函数的第二个参数(max)必须大于或等于第一个参数(min),source/class/class_seccode.php”文件的第309行mt_rand()由于 min 大于max 这个条件不成立,因此程序出现了错误
回复 支持 反对

使用道具 举报

6

主题

28

回帖

44

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2023-4-8 17:39:54 | 显示全部楼层
在php 7.4环境 无此报错
回复 支持 反对

使用道具 举报

18

主题

3964

回帖

7308

积分

应用开发者

贡献
359 点
金币
1397 个
QQ
发表于 2023-4-9 09:45:03 | 显示全部楼层
datou 发表于 2023-4-8 17:39
在php 7.4环境 无此报错

PHP8本来的改进就是要求更严格,所以不需要对比PHP7.X版本。你这个报错的问题在于后台验证码那个位置设置不正确导致的
回复 支持 反对

使用道具 举报

6

主题

28

回帖

44

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2023-4-10 12:24:00 | 显示全部楼层
谢谢两位大神回复,学习了。可否帮忙看一下是设置的哪里问题。

1.png 2.png 3.png 5.png


回复 支持 反对

使用道具 举报

17

主题

568

回帖

1816

积分

应用开发者

贡献
63 点
金币
902 个
QQ
发表于 2023-4-23 09:31:54 | 显示全部楼层
source\class\class_seccode.php
找到
  1. $y = mt_rand(0, $this->height - $font[$i]['height']);
复制代码

修改为
  1. $y = mt_rand(0, max(0, $this->height - $font[$i]['height']));
复制代码
回复 支持 反对

使用道具 举报

6

主题

28

回帖

44

积分

初学乍练

贡献
0 点
金币
5 个
 楼主| 发表于 2023-5-5 17:01:22 | 显示全部楼层
1314学习网 发表于 2023-4-23 09:31
source\class\class_seccode.php
找到

谢谢楼上的大神,您的方法解决了此问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-4 11:10 , Processed in 0.059043 second(s), 10 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表