shmop_openDescriptionshmop_open() takes as its first argument a key that it uses to identify the shared memory segment that you want to create or to which you want to attach. Any process can use the same key to attach to this segment, which allows the sharing of the memory. It's a good idea to attempt to make this key unique to the scripts that will be using it, so as not to conflict with other programs that might use the same key. create_or_attach can be either of the characters c ora. c means to attempt to create a new shared memory segment, and a means to attempt to attach to an existing one. permissions gives the UNIX access permissions for a segment that's being created. This is usually given in octal, and defaults to 0666. If flags has been set to a, this should be set to 0. size gives the desired size in bytes for a segment that's being created. If flags has been set to a, this should be set to 0. ExampleExample 1181. Open a shared memory segment /* Open a shared memory segment, creating it if necessary. */ if (!$shm_id = shmop_open(2000, 'a', 0, 0)) { echo "Could not attach to existing segment; attempting to create.\n"; if (!$shm_id = shmop_open(2000, 'c', 0600, 10000)) { die("Could not open the shared memory segment; reason: $php_errormsg"); } }
PHP Functions Essential Reference. Copyright © 2002 by New Riders Publishing
(Authors: Zak Greant, Graeme Merrall, Torben Wilson, Brett Michlitsch).
This material may be distributed only subject to the terms and conditions set forth
in the Open Publication License, v1.0 or later (the latest version is presently available at
http://www.opencontent.org/openpub/).
The authors of this book have elected not to choose any options under the OPL. This online book was obtained
from http://www.fooassociates.com/phpfer/
and is designed to provide information about the PHP programming language, focusing on PHP version 4.0.4
for the most part. The information is provided on an as-is basis, and no warranty or fitness is implied. All
persons and entities shall have neither liability nor responsibility to any person or entity with respect to
any loss or damage arising from the information contained in this book.
|