如何在PHP中使用TOTP/HOTP库

如何在PHP中使用TOTP/HOTP库,php,one-time-password,Php,One Time Password,我试图实现TOTP PHP库作为登录表单的另一种身份验证。我从以下代码下载并遵循安装说明: <?php include('src/Factory.php'); include('src/HOTP.php'); include('src/HOTPInterface.php'); include('src/OTP.php'); include('src/OTPInterface.php'); include('src/ParameterTrait.php'); include('src/TOT

我试图实现TOTP PHP库作为登录表单的另一种身份验证。我从以下代码下载并遵循安装说明:

<?php
include('src/Factory.php');
include('src/HOTP.php');
include('src/HOTPInterface.php');
include('src/OTP.php');
include('src/OTPInterface.php');
include('src/ParameterTrait.php');
include('src/TOTP.php');
include('src/TOTPInterface.php');
use OTPHP\TOTP;

$otp = TOTP::create();
echo 'The current OTP is: '.$otp->now();
?>

然而,我最终得到了错误消息
警告:在第3行的C:\wamp64\www\otp\src\HOTP.php中声明“strict_types”是不受支持的,在第28行的C:\wamp64\www\otp\src\HOTP.php中声明“strict_types”是不受支持的


我不明白为什么会这样。非常感谢你的帮助。谢谢。

试试multiOTP类,它与PHP 5.x兼容

安装较低版本的软件包,如~8.0,它与PHP5.5一起使用

将其添加到composer.json中

“需要”:{
“spomky实验室/otphp”:“~8.3”
}

或者使用此链接将其作为ZIP下载并手动添加到项目中


最好使用composer,因为您有自动加载器。:)这样就不需要手动要求文件。

似乎您正在PHP5中使用PHP7功能。严格类型仅在7+上受支持。我当前的版本是:PHP5.6.25,所以我应该卸载并升级到版本7吗?如果您想使用该库,是的。如果您拥有该库,我想您可以删除所有PHP7功能。但我不建议这样做。我认为升级对您来说是一个更好的解决方案。非常感谢:)