主要改进:

 

1. 修复 openssl_free_key() 弃用警告

// 使用版本检查,PHP 8.0+ 不需要显式释放
if (PHP_VERSION_ID < 80000) {
openssl_free_key($res);
}

 

2. 使用 openssl_pkey_get_private() 和 openssl_pkey_get_public()

这些是更现代的OpenSSL函数,与openssl_get_privatekey()和openssl_get_publickey()功能相同。

 

3. 优化自动跳转速度

使用多种技术加快跳转:

a. Meta Refresh 标签

<meta http-equiv="refresh" content="1;url=支付链接">

这是最快的跳转方式,浏览器会在1秒后自动跳转。

b. JavaScript 立即跳转

// 页面加载后立即开始倒计时
var countdown = setInterval(function() {
seconds--;
if (seconds <= 0) {
clearInterval(countdown);
window.location.href = payButton.href;
}
}, 1000);

// 3秒后强制跳转(作为备用)
setTimeout(function() {
window.location.href = payButton.href;
}, 3000);

c. 简化页面内容

  • 移除不必要的CSS和JavaScript
  • 减少动画效果
  • 使用内联样式,减少HTTP请求

d. 快速结束PHP脚本

// 立即结束脚本,不等待后续处理
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
}
$this->app->close();
exit;

 

4. 添加倒计时显示

<div class="countdown" id="countdown">3</div>
<p>页面将在 <span id="seconds">3</span> 秒后自动跳转</p>

让用户知道自动跳转的剩余时间。

5. 优化用户体验

  • 清晰的跳转状态指示
  • 备用手动跳转按钮
  • 实时倒计时显示

 

 

 

 

 


登陆