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版本。
錯誤,當我重新啓動我的電腦用分號我得到去除