shopxo6.7.1使用php8.5感觉速度更快

php8.5已于11月20号发布第一个正式版;抱着试试的心态测试了下;简单跑起来的话不需要修改太多内容;修改内容如下

1.修改该文件vendor/topthink/framework/src/think/route/Dispatch.php188行

if ($class->hasProperty('middleware')) {
$reflectionProperty = $class->getProperty('middleware');
//$reflectionProperty->setAccessible(true); 解决thinkphp在php8.5报错的问题;因为php8.5已经废弃掉这个方法了;php8.1及以上开始就可以注释掉这段代码了,注释掉后请不要用php8.0

2.修改 app/common.php文件,搜索curl_close($ch);全部注释掉就可以了

$result = curl_exec($ch);
if($result !== false)
{
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//curl_close($ch);//兼容php8.5,自 PHP 8.1 开始,cURL 资源句柄已被弃用,并改用 CurlHandle 对象。这些对象在超出作用域时会自动销毁,因此不再需要手动调用 curl_close() 来释放资源
return DataReturn('success', 0, $code);
} else {
$error_code = curl_errno($ch);
$error_msg = curl_error($ch);
//curl_close($ch);//兼容php8.5,自 PHP 8.1 开始,cURL 资源句柄已被弃用,并改用 CurlHandle 对象。这些对象在超出作用域时会自动销毁,因此不再需要手动调用 curl_close() 来释放资源
return DataReturn($error_msg.' ('.$error_code.')', -9999, $error_code);
}


3.修改 app/common.php文件,搜索PathToParams这个方法改下下面的if条件

function PathToParams($key = null, $default = null, $path = '')
if(!empty($path) && ($key === null || !array_key_exists($key, $data)))这行需要修改成这样


4.修改 extend/base/Verify.php 142行

//imagedestroy($this->img);直接注释掉就行