2016-11-25 8 views
1

Ich bin der Aufbau eine Web-Seite mit Login-Funktion und ich kam mit diesen Fehlern auf:Fatal error: openssl_random_pseudo_bytes

Fatal error: Call to undefined function openssl_random_pseudo_bytes() in ...Users_model.php

Dies ist ein Ausschnitt des Quellcodes, wohin er führt (Linie 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 
     ]; 

Und dies ist der Code, wo es in Debug passiert (Linie 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); 
    } 

die Screenshots von Fehlern von Debugger: error 1 ...

error 2

ich Windows 10 x64 und MAMP 3.2.2 als localhost leite. MAMP Einstellungen: php 5.6.24, Cache aus.

Dies ist, was ich das Problem zu lösen zu versuchen, tat

  • entfernt Semikolon in extension = php_openssl.dll in diesem Ordner C: \ MAMP \ conf \ php5.6.24 \ php ini
  • und hier C: \ MAMP \ conf \ php5.6.0 \ php.ini
  • bewegt beide php.ini C: \ MAMP \ bin \ php \ php5.6.0 und C: \ MAMP \ bin \ php \ php5.6.24 Ordner

Der Grund dafür in diesen beiden Orten zu tun ist, weil Chrome-Erweiterung "Wappalyzer" zeigt diese Seite als PHP-Version 5.6.0.

Fehler bekomme ich, wenn ich meinen PC mit Semikolons Neustart entfernt

error I get when I restart my PC with semicolons removed

Antwort

0

FIXED! Switched zu PHP 7.0.9 und es gibt kein solches Problem.