PHP Conference Nagoya 2025

shmop_close

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

shmop_closeFerme un bloc de mémoire partagée

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 8.0.0. Dépendre de cette fonction est fortement déconseillé.

Description

#[\Deprecated]
shmop_close(Shmop $shmop): void

Note:

Cette fonction n'a aucun effet. Antérieur à PHP 8.0.0, cette fonction était utilisé pour fermer une ressource.

shmop_close() sert à fermer un bloc de mémoire partagée.

Liste de paramètres

shmop

La ressource de mémoire partagée créé par shmop_open().

Valeurs de retour

Aucune valeur n'est retournée.

Historique

Version Description
8.0.0 Cette fonction a été déclarée obsolète, car elle n'a plus aucun effet.
8.0.0 shmop attend une instance de Shmop désormais; auparavant une resource était attendu.

Exemples

Exemple #1 Fermeture d'un bloc de mémoire partagée

<?php
shmop_close
($shm_id);
?>

Cet exemple ferme le bloc de mémoire partagée identifié par $shm_id.

Voir aussi

  • shmop_open() - Crée ou ouvre un bloc de mémoire partagée

add a note

User Contributed Notes 2 notes

up
3
slavapl at mailandnews dot com
23 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).
up
1
shortboi
3 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