1
我建立一个网页的登录功能,我想出了这个错误:致命错误:openssl_random_pseudo_bytes
Fatal error: Call to undefined function 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,缓存关闭。
这是我做过什么来尝试解决问题:
- 去除分号延长= php_openssl.dll 在此文件夹C:\ MAMP \的conf \ php5.6.24 \ PHP的.ini
- 这里C:\ MAMP \的conf \ php5.6.0 \ php.ini中
- 移动两个php.ini中C:\ MAMP \ BIN \ PHP \ php5.6.0C:\ MAMP \ BIN \ PHP \ php5.6.24文件夹
之所以在这两个地方这样做,是因为Chrome扩展 “Wappalyzer” 显示了这个页面,因为PHP 5.6.0版本。
错误,当我重新启动我的电脑用分号我得到去除