2016-03-28 2 views
0

Я начал создавать новое приложение Laravel 5. Мне нужна функция сообщения сайта в моем приложении, поэтому я создал ее. Но теперь, когда я пытаюсь добавить сообщения в стек, я получаю следующее сообщение об ошибке:FatalErrorException: строка ввода слишком длинная

FatalErrorException in ExceptionHandler.php line 412: Input string is too long

Apache журнал ошибки говорит:

Mon Mar 28 20:25:40.310761 2016] [fcgid:warn] [pid 2075:tid 3028430848] [client 127.0.0.1:56643] mod_fcgid: stderr: PHP Fatal error: Input string is too long in /Users/xxx/Development/Laravel/myapp/vendor/symfony/debug/ExceptionHandler.php on line 412, referer: http://app.dev/page/new

Я называю сообщение :: установить метод в моем контроллере :

Message::set('Page created'); 

А класс Message содержит:

<?php 

namespace App\Models; 

use Session; 

class Message { 

    const MESSAGE_INFO  = 0x1; 
    const MESSAGE_WARNING = 0x2; 
    const MESSAGE_ERROR  = 0x3; 

    public static function set($message, $type = MESSAGE_INFO) { 
     $messages = self::get(false); 
     $messages[$type][] = $message; 

     Session::put('app.messages', $messages); 
    } 

    public static function get($flush = true) { 
     $default = [ self::MESSAGE_INFO => [], self::MESSAGE_WARNING => [], self::MESSAGE_ERROR => []]; 

     if($flush) Session::pull('app.messages', $default); 
     return Session::get('app.messages', $default); 
    } 

    public static function isAny() { 
     $messages = self::get(false); 

     foreach($messages AS $store) if(!empty($store)) return true; 

     return false; 
    } 

} 

Я так потерялся с этим. Может кто-то помочь мне с этим?

ответ

0

Возможно, вы ошибаетесь, но я не уверен, что вы можете хранить массив в сеансе Laravel.

После того, как вы храните этот массив в сессии

Session::put('app.messages', $messages); 

попытки сбросить переменный сеанс:

dd(Session::get('app.messages')); 

Вернитесь в результате вы получите, чтобы мы могли копать глубже. Удачи!

+0

Благодарим вас за ответ. В коде была небольшая ошибка. Исправление было добавлено в исходное сообщение. –

1

Проблема была с этой линией:

public static function set($message, $type = MESSAGE_INFO) { 

Оно должно быть:

public static function set($message, $type = self::MESSAGE_INFO) { 

MESSAGE_INFO константа определена в классе сообщений, а не по всему миру.

Сообщение об ошибке было действительно запутанным. Когда я помещаю Message :: set («Создана страница»); вызовите внутри блока try-catch, тогда сообщение об ошибке было:

FatalErrorException in GroupManagementController.php line 45: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2890768384 bytes)

Смежные вопросы