错误密码哈希行1类密码哈希
PHP已弃用:与其类同名的方法将不会是PHP未来版本中的构造函数; PasswordHash有一个不推荐使用的构造函数 如何修复错误? 我的数据库7.1
class PasswordHash {
var $itoa64;
var $iteration_count_log2;
var $portable_hashes;
var $random_state;
var $hash_method; // do not modify directly, use set_hash_method instead.
function PasswordHash($iteration_count_log2 = 9, $portable_hashes = false, $hash_method = null, $full_compat = true)
{
$this->portable_hashes = $portable_hashes;
$this->full_compat = $full_compat;
if ($this->set_hash_method($hash_method)===false){
return false;
}
$this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
if ($iteration_count_log2 < 4 || $iteration_count_log2 > 31)
$iteration_count_log2 = 8;
$this->iteration_count_log2 = $iteration_count_log2;
$this->random_state = microtime();
if (function_exists('getmypid'))
$this->random_state .= getmypid();
return $this;
}
答案 0 :(得分:3)
我不知道您使用的是哪个版本的PHP,但WARNING消息告诉您应该停止使用具有相同类名的构造函数,而是开始使用__construct
。
class PasswordHash {
var $itoa64;
var $iteration_count_log2;
var $portable_hashes;
var $random_state;
var $hash_method; // do not modify directly, use set_hash_method instead.
function __construct($iteration_count_log2 = 9, $portable_hashes = false,
$hash_method = null, $full_compat = true) {
...
答案 1 :(得分:1)
在PHP 4中,构造函数与类具有相同的名称。从PHP7开始,它不是一个选项。 您应该使用名称PasswordHash重命名方法。 并且构造函数也不返回值。