"shmop_open (): невозможно присоединить или создать сегмент разделяемой памяти« Нет ошибок »:«? - PullRequest
0 голосов
/ 17 апреля 2020

Я получаю это каждый раз, когда пытаюсь создать учетную запись, чтобы спросить об этом в переполнении стека:

Упс! Произошло что-то плохое!

Приносим извинения за неудобства, но во время просмотра нашего сайта произошла непредвиденная ошибка.

Это не вы, а мы. Это наша вина.

Вот почему я размещаю это здесь. Я буквально не могу спросить об этом в «Переполнении», даже проведя часы своего дня (вкл. И выкл.), Повторяя свои попытки и решая миллион головоломок reCAPTCHA. Можете ли вы исправить эту ошибку в ближайшее время?


Не имея содержательных / полных примеров и практически никакой документации, я уже много лет пытаюсь использовать часть shmop PHP. Теперь я должен найти способ отправки данных между двумя разными сценариями CLI PHP, работающими на одной машине, без использования базы данных для этого. Он должен работать без поддержки базы данных, что означает, что я пытаюсь использовать shmop, но он не работает вообще:

$shmopid = shmop_open(1, 'w', 0644, 99999); // I have no idea what the "key" is supposed to be. It says: "System's id for the shared memory block. Can be passed as a decimal or hex.", so I've given it a 1 and also tried with 123. It gave an error when I set the size to 64, so I increased it to 99999. That's when the error changed to the one I now face above.
shmop_write($shmopid, 'meow 123', 0); // Write "meow 123" to the shared variable.

while (1)
{
    $shared_string = shmop_read($shmopid, 0, 8); // Read the "meow 123", even though it's the same script right now (since this is an example and minimal test).
    var_dump($shared_string);
    sleep(1);
}

Я получаю сообщение об ошибке для первой строки:

shmop_open(): unable to attach or create shared memory segment 'No error':

Что это значит? Что я делаю неправильно? Почему руководство так безумно крипти c для этого? Почему это не просто встроенный «супераррэй», к которому можно обращаться через сценарии?

...