yuantuo666 / baiduwp-php

A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具
MIT License
6.5k stars 1.4k forks source link

【Bug 反馈】应用程序在 PHP 8.1 下无法正常工作 #291

Closed 827821562 closed 1 year ago

827821562 commented 1 year ago

readme-zh中关于php说明为仅支持 PHP 7 和 7+,经过本人实际检验,在php8.1版本下,仅能使用本地模式工作,其他模式无法正常运行,建议修改避免歧义

lc6464 commented 1 year ago

理论上来说应该是要支持 PHP 8+ 的,您是否可以描述一下在 PHP 8.1 下遇到了什么问题?

827821562 commented 1 year ago

理论上来说应该是要支持 PHP 8+ 的,您是否可以描述一下在 PHP 8.1 下遇到了什么问题?

使用PHP8.1时,模式不在本地模式的情况下,数据库连接一块可能有问题,我在setting.php中看到本地账户与svip账户下显示了获取失败,首页直接使用时反馈获取链接失败,nexpected end of JSON input,经过简单的溯源发现问题出现在GetDBBDUSS()函数,由于我对php不是很了解,所以没有再向上去寻找具体的原因,但是从宝塔中将php版本由8.1改为7.4后,未作其他修改的情况下恢复正常

lc6464 commented 1 year ago

似乎是 JSON 解析方面的问题。@yuantuo666

yuantuo666 commented 1 year ago

如果是 GetDBBDUSS() 导致的问题的话,那大概率是和这个 issue 同样的问题 https://github.com/yuantuo666/baiduwp-php/issues/293

827821562 commented 1 year ago

如果是 GetDBBDUSS() 导致的问题的话,那大概率是和这个 issue 同样的问题 #293

这两个issue都是由我发起的问题,并且本issue我尝试修复过程中试过修改sql语句,无法在8.1环境中修复此问题,实际上两个issue的表现形式也不同,本issue会明显提示反馈链接失败,#293中不会提示任何消息,但是任何模式都等同了本地模式。

827821562 commented 1 year ago

如果是 GetDBBDUSS() 导致的问题的话,那大概率是和这个 issue 同样的问题 #293

抱歉打扰,貌似是同一个问题,之前修复的时候修复错了位置

yuantuo666 commented 1 year ago

image 注释 api.phperror_reporting(0); 并且抓包可以看到是 $Result 未声明导致的错误,两个是同一个函数,但是是不同的问题 估计是 8.0 的 PHP 增强了变量存在的检查

yuantuo666 commented 1 year ago

BTW,因为历史原因,这个项目没有使用框架,所有有很多的问题 有空的话会考虑用框架重写项目,这样对多数据库的支持和错误处理会更完善

827821562 commented 1 year ago

image 注释 api.phperror_reporting(0); 并且抓包可以看到是 $Result 未声明导致的错误,两个是同一个函数,但是是不同的问题 估计是 8.0 的 PHP 增强了变量存在的检查

明白了,可能是我修复另一个issue时候某些操作无意识把这个issue的bug给解决了,刚才回复的时候没法复现了所以理解成一个问题了

yuantuo666 commented 1 year ago

已修复 https://github.com/yuantuo666/baiduwp-php/pull/280