PHP supports shared memory which can be used to store and retrieve data across processes. PHP поддерживает разделяемой памяти, которая может быть использована для хранения и поиска данных между процессами. This is also another alternative way to Это также еще один другой способ communicate between php scripts общаться между php скрипты . Normally shared memory is used for caching frequently used data in memory for php scripts on the same server. Обычно в общей памяти используется для кэширования часто используемых данных в памяти для php скрипты на одном сервере. Let’s see how we can use shared memory with a simple example. Давайте посмотрим, каким образом мы можем использовать в общей памяти с простой пример.


How to create PHP shared memory and save a variable (array) Как создать PHP разделяемой памяти и сохранить переменную (массив)

Here is a sample code with comments: Вот пример кода с комментариями:

 $key = 'mykey'; // Key to store data with //Returns System V IPC key; 'My test' should be replaced by the pathname of an existing file // as per manual. $ ключ = 'mykey'; / / ключ для хранения данных с / / Возвращает System V КУМИ ключ; "Моя испытания" следует заменить на путь к существующий файл / / как на пособие. I found that even a non-existent file works fine. Я обнаружил, что даже несуществующих файлов работает отлично. // The second argument is project identifier; a single character of your choice $shm_key = ftok('My test','P'); $data =  shm_attach($shm_key); // Pointer to shared memory // Sample data to store $test = array("hello","angsuman","chakraborty"); shm_put_var($data,$inmem,$test); // Save the data in shared memory print_r(shm_get_var($data,$mykey)); // Print the saved data shm_detach($data); // Disconnects from shared memory segment; the data remains intact / / Второй аргумент заключается в идентификатор проекта; один символ вашего выбора shm_key $ = ftok ( "Мой тест ',' P '); данные $ = shm_attach ($ shm_key) / / Указатель на разделяемой памяти / / Выборка данных магазин испытание $ = массив ( "привет", "angsuman", "Чакраборти"); shm_put_var ($ данным, $ inmem, $ испытания) / / Сохранить данные в разделяемой памяти print_r (shm_get_var ($ данным, $ mykey)) / / Печать сохраненных данных shm_detach ($ данные) / / отключает от общей памяти сегмента; данных остается неизменным 

How to fetch data from shared memory in PHP Как извлечь данные из разделяемой памяти в PHP

 $key = 'mykey'; $shm_key = ftok('My test','P'); $data =  shm_attach($shm_key); print_r(shm_get_var($data,$mykey)); shm_detach($data); $ ключ = 'mykey'; shm_key $ = ftok ( "Мой тест ',' P '); данные $ = shm_attach ($ shm_key); print_r (shm_get_var ($ данным, $ mykey)); shm_detach ($ данные); 

Notes: Примечания:
1. The code has been tested on Linux only. Код был протестирован на Linux только.
2. The arguments to ftok must be same to access the same shared memory from multiple scripts. Аргументы, чтобы ftok должны быть одинаковыми для доступа к разделяемой памяти же из многочисленных сценариев. For use in multiple processes within the same script file use __FILE__ as the first argument to ftok(). Для использования в различных процессах внутри же скрипт-файл, __FILE__ использовать в качестве первого аргумента ftok ().