shmop_close

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

shmop_close β€” Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ раздСляСмой памяти

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

Начиная с PHP 8.0.0 функция УБВАРЕЛА. ΠŸΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚.

ОписаниС

#[\Deprecated]
function 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.

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • shmop_open() - Π Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ использованиС Π±Π»ΠΎΠΊΠ° раздСляСмой памяти
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
3
slavapl at mailandnews dot com ΒΆ
25 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
2
shortboi ΒΆ
4 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.