|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #81098 shmop_close is deprecated because shmop uses objects
Submitted: 2021-06-02 01:41 UTC Modified: 2021-06-02 02:16 UTC
From: santiagopereyra dot 95 at gmail dot com Assigned:
Status: Verified Package: Unknown/Other Function
PHP Version: 8.0.6 OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: santiagopereyra dot 95 at gmail dot com
New email:
PHP Version: OS:


 [2021-06-02 01:41 UTC] santiagopereyra dot 95 at gmail dot com
In PHP 8.0.6, shmop_close returns me a Deprecated error, but the function_exists method returns me true. I don't know if it's an error in the shmop method, or the function_exists method.

configure line:
./configure --enable-mbstring --with-mysqli --enable-shmop --enable-pcntl

Test script:
echo var_export(function_exists("shmop_close"), true);
if (function_exists("shmop_close")) shmop_close();

Expected result:

Actual result:
Deprecated: Function shmop_close() is deprecated in [...]


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2021-06-02 01:46 UTC]
-Status: Open +Status: Not a bug
 [2021-06-02 01:46 UTC]
function_exists returns whether the function exists. Deprecated functions still exist.
 [2021-06-02 01:47 UTC] ghhta at hgh dot bhg
as the function exists but is deprecated why in the world should it return anything else but true? 

if it wouldn't exist you would get a fatal error 

that's what deprecations all about: warning about stuff which will be removed in the future so that you notice it and fix your code before it's removed in later releases
 [2021-06-02 02:08 UTC] santiagopereyra dot 95 at gmail dot com
Ok it's true. My fault. Thanks for support :)

Can I ask here why is shmop_close marked as deprecated? I didn't see anything in the docs.
Can I submit an issue in the doc-en repo?
 [2021-06-02 02:16 UTC]
-Summary: shmop_close returns deprecated but function_exists recognizes as valid +Summary: shmop_close is deprecated because shmop uses objects -Status: Not a bug +Status: Verified -Type: Bug +Type: Documentation Problem -Package: *General Issues +Package: Unknown/Other Function
 [2021-06-02 02:16 UTC]
Since PHP 8.0, the shmop functions use objects instead of resources, thus there is no need to call shmop_close (PHP will do that automatically when the object is no longer used).

This is not currently documented.
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Mon Aug 02 07:01:23 2021 UTC