Ошибка перенаправления php Cake - PullRequest
0 голосов
/ 26 апреля 2018

Я новичок в CakePHP. Я просто проверяю, как это работает. Я использую другие фреймворки в PHP. Здесь в CakePHP 3.6 только что установлен. Я слежу за учебником в блоге CakePHP. Мой код:

 $article = $this->Articles->newEntity();
            if ($this->request->is('post')) {
                // Prior to 3.4.0 $this->request->data() was used.
                $article = $this->Articles->patchEntity($article, $this->request->getData());
                if ($this->Articles->save($article)) {
                    $this->Flash->success(__('Your article has been saved.'));
                   return $this->redirect(['action' => 'index']);
                }
                else {
                    $this->Flash->error(__('Unable to add your article.'));
                }

            }
            $this->set('article', $article);

Проблема при перенаправлении на другое действие. Когда я комментирую строку return $this->redirect(['action' => 'index']);, она работает, иначе выдает следующую ошибку.

Warning (512): Unable to emit headers. Headers sent in file=C:\Users\Dipti\blog\vendor\cakephp\cakephp\src\Error\Debugger.php line=853 [CORE\src\Http\ResponseEmitter.php, line 48] Warning (2): Cannot modify header information - headers already sent by (output started at C:\Users\Dipti\blog\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 148]

1 Ответ

0 голосов
/ 26 апреля 2018

В вашем приложении сменить контроллер

$this->loadComponent('RequestHandler');

до

$this->loadComponent('RequestHandler', [
    'enableBeforeRedirect' => false
]);

(Я знаю, это не очень хороший ответ. Если у меня будет время, я его расширю)

...