Поделиться PHP Rivescript объектом в $ _SESSION - PullRequest
0 голосов
/ 05 марта 2020

У меня проблема с попыткой сохранить объект в сеансе.

Из моего индекса. php Я создаю объект и сохраняю его в сеансе:

  include_once __DIR__.'/vendor/autoload.php';
  use Axiom\Rivescript\Rivescript;
  $test = new Rivescript();
  $test->load(realpath(__KNOWLEDGE__));

  session_start();
  if (isset($_SESSION['ENGINE'])){
    unset($_SESSION['ENGINE']);
  }
  $_SESSION['ENGINE'] = $test;

в другом php страница Я вызываю сеанс для получения объекта:

session_start();
if (!isset($_SESSION['ENGINE'] )){
    // error
}else{
    $test = $_SESSION['ENGINE'];
    $txt = $test->reply($input,$client_id);
}

Эта страница вызывается AJAX.

, и я получаю эту ошибку:

Notice: Trying to get property 'memory' of non-object in /var/www/html/vendor/axiom/rivescript/src/Cortex/Input.php on line 64

Fatal error: Uncaught Error: Call to a member function substitute() on null in /var/www/html/vendor/axiom/rivescript/src/Cortex/Input.php:64 Stack trace: #0 /var/www/html/vendor/axiom/rivescript/src/Cortex/Input.php(33): Axiom\Rivescript\Cortex\Input->cleanOriginalSource() #1 /var/www/html/vendor/axiom/rivescript/src/Rivescript.php(34): Axiom\Rivescript\Cortex\Input->__construct('ciao', '5e5fe0688782a') #2 /var/www/html/include/bot.php(24): Axiom\Rivescript\Rivescript->reply('ciao', '5e5fe0688782a') #3 {main} thrown in /var/www/html/vendor/axiom/rivescript/src/Cortex/Input.php on line 64

Любая помощь ??

...