2016-06-10 1 views
0

Ich habe ein API cakephp verwenden, aber wenn ich verwenden oder per Post zum Beispiel habe ich das richtige Ergebnis mit dieser Nachricht:Warnung und Veraltete Ausgang API cakephp

Veraltete: automatisch bevölkern $ HTTP_RAW_POST_DATA veraltet und wird in einer zukünftigen Version entfernt. Um diese Warnung zu vermeiden, setze 'always_populate_raw_post_data' in 'php.ini' auf '-1' und benutze stattdessen den php: // - Eingabestream. in Unknown on line 0

Warnung: Kann nicht modify header information - headers already in Unknown on line gesendet 0

Das ist meine php fuction ist:

public function token() 
{ 
    $user = $this->Auth->identify(); 
    if (!$user) { 
     throw new UnauthorizedException('Invalid Password or email'); 
    } 

    $this->set([ 
     'success' => true, 
     'data' => [ 
      'token' => JWT::encode([ 
       'sub' => $user['id'], 
       'exp' => time() + 604800 
      ], 
      Security::salt()) 
     ], 
     '_serialize' => ['success', 'data'] 
    ]); 
} 

Wie kann ich dieses Problem beheben ?

+3

Warum zeigen Sie nicht Ihr Skript, wo dies vorkommt. Wenn man sich das Handbuch anschaut, heißt es: * Im Allgemeinen sollte php: // input anstelle von $ HTTP_RAW_POST_DATA * – Rasclatt

+0

@Rasclatt verwendet werden. Hier ist meine Funktion und sorry, ich bin ein Anfänger mit cakephp und php, also habe ich keine Ahnung von dieser Warnung. Ich folgte nur diesem [Tutorial] (http://www.bravo-kernel.com/2015/04/how-to-add-jwt-authentication-to-a-cakephp-3-rest-api/) –

+0

HTTP-Header bereits gesendet, ist ein Hinweis darauf, dass eine "Ausgabe" Ihres PHP-Skripts an den Client gesendet wurde, die die Pipeline gezwungen hat, Kopfzeilen zu sammeln, sie zu senden (zumindest an einen Puffer, angehängten Inhalt, so dass es jetzt zu spät ist) Kopfzeilen ändern). Überprüfen Sie [Wie Sie den Fehler "Header senten sent" in PHP beheben können (http://stackoverflow.com/questions/8028957/how-to-fixe-headers-already-sent-error-in-php), um Ideen dazu zu erhalten finde das. – Dilettant

Antwort

0

OK fand ich eine Lösung, aber ich verstehe nicht, wie es

Mit Postman funktioniert, wenn ich Daten über RAW in Körper einsetzen, dass ich bekam Warnmeldung aber ich versuchte, Daten über x-www-form- einfügen urlencodiert und es funktioniert gut. Ich habe JSON Antwort ohne HTML. Irgendeine Erklärung dafür?

0

Sie müssen die Einstellung php.ini für 'always_populate_raw_post_data' in -1 ändern.

+0

Ich änderte und immer noch die gleiche Warnung –

+0

Haben Sie Apache neu gestartet? –

+0

ja ich habe es neu gestartet –