PHP 解析二维码速度咋这么慢??

2022-09-04 13:16:49 +08:00
 08110920
include_once('./lib/QrReader.php');
ini_set('memory_limit', '-1');
$qrcode = new QrReader('./1.jpg');
$text = $qrcode->text();



php7.4 运行一下要等好几秒以上才能解析好。


php 有啥更好的解决办法吗?
1762 次点击
所在节点    问与答
14 条回复
Torpedo
2022-09-04 13:49:42 +08:00
不能让前端解吗?🐶
ixixi
2022-09-04 13:51:43 +08:00
试下 php8.1 开启 jit 可能会快一些
wd
2022-09-04 13:54:08 +08:00
你在那个方法前后统计下时间看看,可能是 runtime 启动慢
08110920
2022-09-04 13:55:36 +08:00
@wd 11.349539041519 秒

microtime
wd
2022-09-04 13:56:42 +08:00
那是慢.. 不知道是不是可以 trace 下哪里慢..
wd
2022-09-04 13:56:58 +08:00
11 秒是吗?
08110920
2022-09-04 14:05:44 +08:00
@wd 嗯 以为是服务器不行,换了个 4 核 24G 的服务器来运行 还是一样慢。
Rache1
2022-09-04 14:07:41 +08:00
不知道你用的哪个库解析,我这里测试两百多个字符的二维码,解析都算比较快的。

测试环境:PHP 7.1

khanamiryan/qrcode-detector-decoder - Packagist
https://packagist.org/packages/khanamiryan/qrcode-detector-decoder#1.0.5.2

zhaokun
2022-09-04 14:17:20 +08:00
大概率是代码问题,换识别库
08110920
2022-09-04 14:26:16 +08:00
@Rache1 7.4 提示这个 Parse error: syntax error, unexpected '|', expecting variable (T_VARIABLE) in /www/wwwroot/api.111.cn/vendor/khanamiryan/qrcode-detector-decoder/lib/QrReader.php on line 16

只能 7.1 运行?
Rache1
2022-09-04 15:13:34 +08:00
@08110920 如果是 composer 安装,PHP 7.x 的安装 1.0.5.2 版本。

composer require khanamiryan/qrcode-detector-decoder=1.0.5.2

手动安装的,去 Github 仓库的 Release 下载

https://github.com/khanamiryan/php-qrcode-detector-decoder/releases/tag/1.0.5.2
08110920
2022-09-04 17:21:59 +08:00
@Torpedo 现在再找例子。 php 是因为图片上还有其他的东西,所以二维码慢一些,如果只是二维码图,速度就很快了。
IDAEngine
2022-09-04 18:32:38 +08:00
哪有这么慢的,一般 50ms 左右
08110920
2022-09-04 20:10:05 +08:00
@IDAEngine 图的问题,不是纯二维码图,图上还有文字等等其他信息,所以解析慢了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877598

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX