Nodejs Memcached не может найти хранилище PHP - PullRequest
0 голосов
/ 02 сентября 2018

Я только что установил memcached на своем сервере Debian для обмена сессиями между nodejs (Chat Server) и PHP (Website). Так вот, как далеко я сейчас ушел.

Я настроил PHP для сохранения деталей сеанса в memcached и запустил этот скрипт.

<?php
error_reporting(E_ALL);
session_start();
 $_SESSION['some'] = 'thing';
 echo session_id()."\n";
 print_r($_SESSION);

Также я попытался получить данные с помощью memcached-tool

/usr/share/memcached/scripts/memcached-tool localhost:11211 dump

Я получил этот вывод после некоторых ошибок, связанных с pear (я не буду публиковать их, если кто-то не скажет, что nodejs неожиданно использует pearl)

Dumping memcache contents

Количество ковшей: 1 Количество предметов: 1 Ковш 2 - 1 всего добавить memc.sess.etnq8q744bdc6srknrdu78a5e4 0 1535915171 17 некоторые | s: 5: "вещь";

так что я думаю, это сработало. Теперь я написал этот скрипт для nodejs

const cookie = require('cookie');

const Memcached = require('memcached');
const PHPUnserialize = require('php-unserialize');

    var mem = new Memcached('127.0.0.1:11211');

    mem.set('foo', 'dass',100,function(err){
        console.log('Error1:'+err);
    });
    mem.get('foo', function(err, data) {
        console.log('Error:'+err);
        console.log('Data'+data);
    });

    var PHPSESSID = cookie.parse(socket.request.headers.cookie).P$
    console.log(PHPSESSID);

    mem.get(PHPSESSID, function(err, data){
        if(err) return console.error(err);
        if(data===false)return console.error('could not retreive $
        console.log('raw data:',data);
    });

к сожалению, я получаю значение "dass", которое я установил ранее, но все остальные значения не определены

etnq8q744bdc6srknrdu78a5e4
output send
Error1:undefined
Error:undefined
Datadass
raw data: undefined

Я думаю, что должно быть какое-то различие в том, как и где я подключаюсь к серверу memcached. Но я не могу найти никакого кода, делающего это. Я также не могу видеть вставленные значения nodejs с memcached-tool

Это только вырезы. Полный код и полный вывод здесь

код https://pastebin.com/3uQqZFai

Выход https://pastebin.com/991ebxfq

Код работал совершенно нормально до добавления memcached. Также это работает теперь, но memcached часть. Также я использовал рабочий клиент для подключения, чтобы вызвать memcached часть. И я также знаю, что этот код не является совершенным. Я все еще работаю над пониманием всего этого. P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...