PHP 8.1.28 Released!


(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_closeЗакрытие блока разделяемой памяти


Эта функция была УДАЛЕНА в PHP 8.0.0. Использование этой функции не рекомендуется.


shmop_close(Shmop $shmop): void


Использование функции больше не имеет смысла. До PHP 8.0.0 она использовалась для закрытия ресурса.

shmop_close() используется для завершения доступа к блоку разделяемой памяти.

Список параметров


Ресурс блока памяти, возвращаемый функцией shmop_open()

Возвращаемые значения

Функция не возвращает значения после выполнения.

Список изменений

Версия Описание
8.0.0 Параметр shmop ожидает экземпляр Shmop; ранее ожидался ресурс (resource).


Пример #1 Закрытие блока разделяемой памяти


В данном примере прекращается доступ к блоку памяти, имеющему идентификатор $shm_id.

Смотрите также

  • shmop_open() - Резервирование или использование блока разделяемой памяти

add a note

User Contributed Notes 2 notes

slavapl at mailandnews dot com
22 years ago
shmop_close doesn't delete the memory segment, it just detaches from it.

If you have created the block and need to delete it you must call shmop_delete **BEFORE** calling shmop_close (for reasons outlined in shmop_delete help page notes).
2 years ago
As explained on this page, PHP 8.0.0 expects a Shmop instance instead of a resource. According to bug #81098 this change means that the Shmop closes itself when the script completes so there is no need to close it with shmop_close.

Using function_exists('shmop_close') will return true but calling shmop_close will throw a deprecation error.

The documentation explains the change in 8.0.0 expects the expected argument changed without mentioning it'll just throw a deprecation error.
To Top