我正在构建一个具有登录功能的网页,我想出了这个错误:
致命错误:调用未定义的函数openssl_random_pseudo_bytes()in ... Users_model.php
这是一段源代码片段(第2行):
if(password_verify($password, $row->password)) {
$token = bin2hex(openssl_random_pseudo_bytes(21));
$this->insert_token_user($row->id, $token);
$res = [
'id' => $row->id,
'first_name' => $row->first_name,
'last_name' => $row->last_name,
'email' => $row->email,
'token' => $token
];
这是调试中发生的代码(第3行):
jQuery.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa(email + ":" + password));
},
url: URL + 'user/login',
contentType: 'application/json',
type: 'GET',
success: function(data, status, response) {
},
error: function(xhr, status, error) {
var err = JSON.parse(xhr.responseText);
responseHandling(err);
}
我正在运行Windows 10 x64和MAMP 3.2.2作为localhost。 MAMP设置: php 5.6.24,缓存关闭。
这就是我尝试解决问题的方法:
在这两个地方这样做的原因是因为Chrome扩展程序" Wappalyzer"将此页面显示为PHP 5.6.0版。
错误我在用分号删除
重新启动电脑时得到错误答案 0 :(得分:0)
已修复!已切换到PHP 7.0.9并且没有此类问题。