PHP Conference Japan 2024

shmop_close

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

shmop_close关闭共享内存块

警告

从 PHP 8.0.0 开始,此函数已弃用。强烈建议不要依赖此函数。

描述

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

注意:

此函数没有任何作用。在 PHP 8.0.0 之前,此函数用于关闭资源。

shmop_close() 用于关闭共享内存块。

参数

shmop

shmop_open() 创建的共享内存块资源

返回值

不返回任何值。

变更日志

版本 描述
8.0.0 此函数已被弃用,因为它不再有任何作用。
8.0.0 shmop 现在期望一个 Shmop 实例;以前,期望一个 resource

示例

示例 #1 关闭共享内存块

<?php
shmop_close
($shm_id);
?>

此示例将关闭由 $shm_id 标识的共享内存块。

参见

添加注释

用户贡献的注释 2 条注释

slavapl at mailandnews dot com
23 年前
shmop_close 不会删除内存段,它只是与之分离。

如果您已创建块并需要删除它,则必须在调用 shmop_close **之前** 调用 shmop_delete(原因在 shmop_delete 帮助页面注释中概述)。
shortboi
3 年前
如本页面所述,PHP 8.0.0 期望 Shmop 实例而不是资源。根据错误 #81098,此更改意味着当脚本完成时,Shmop 会自行关闭,因此无需使用 shmop_close 关闭它。

使用 function_exists('shmop_close') 将返回 true,但调用 shmop_close 将引发弃用错误。

文档解释了 8.0.0 中的更改期望预期参数已更改,但没有提到它只会引发弃用错误。
To Top