PHPackages                             gpslab/shmop - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. gpslab/shmop

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

gpslab/shmop
============

Shmop is a simple and small abstraction layer for shared memory manipulation using PHP

v1.0.0(9y ago)127431MITPHPPHP &gt;=5.0CI failing

Since May 12Pushed 6y ago2 watchersCompare

[ Source](https://github.com/gpslab/shmop)[ Packagist](https://packagist.org/packages/gpslab/shmop)[ Docs](http://github.com/gpslab/shmop)[ RSS](/packages/gpslab-shmop/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/2921ee4dd8d69a2ebbfff1749d197bd501c90f8040f75b1b6c66456d2479bf85/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6770736c61622f73686d6f702e7376673f6d61784167653d266c6162656c3d737461626c65)](https://packagist.org/packages/gpslab/shmop)[![Total Downloads](https://camo.githubusercontent.com/a3b51429d5bf5961d405a0558104138fa79ad4cc60ef0462c2903720e02362f5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6770736c61622f73686d6f702e7376673f6d61784167653d)](https://packagist.org/packages/gpslab/shmop)[![Build Status](https://camo.githubusercontent.com/5b4b78b81730a007932bf7c829e9ab1344a0051a9d65601d5129c5eb140daaa0/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6770736c61622f73686d6f702e7376673f6d61784167653d)](https://travis-ci.org/gpslab/shmop)[![Coverage Status](https://camo.githubusercontent.com/2ba6826b3a804b8c68a856b1aa6c36a9aa756d8853aa2604ec35a1360e935444/68747470733a2f2f696d672e736869656c64732e696f2f636f766572616c6c732f6770736c61622f73686d6f702e7376673f6d61784167653d)](https://coveralls.io/github/gpslab/shmop?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/3bb3d444113e728ceb916896f961eacb0885530c10a6c5a2c2fdab489d57bf26/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6770736c61622f73686d6f702e7376673f6d61784167653d)](https://scrutinizer-ci.com/g/gpslab/shmop/?branch=master)[![SensioLabs Insight](https://camo.githubusercontent.com/8edbb1db5b09a65419127654fd60d0bcee69f9d03ebad7920f372d2ebc986ea8/68747470733a2f2f696d672e736869656c64732e696f2f73656e73696f6c6162732f692f39623732643235652d386463612d346237312d613861352d6131656339323035303938322e7376673f6d61784167653d266c6162656c3d534c496e7369676874)](https://insight.sensiolabs.com/projects/9b72d25e-8dca-4b71-a8a5-a1ec92050982)[![StyleCI](https://camo.githubusercontent.com/580f98235a2b5208fb12658a8f2bca544e790f19599e5f2ac3d604d18b8f72b7/68747470733a2f2f7374796c6563692e696f2f7265706f732f39313039343939372f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/91094997)[![License](https://camo.githubusercontent.com/8d06cc4d1a478282aadc60f58fb126a8224b82c9de702bee1c3a43887303ebc0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6770736c61622f73686d6f702e7376673f6d61784167653d)](https://github.com/gpslab/shmop)

Shmop
=====

[](#shmop)

Shmop is a simple and small abstraction layer for shared memory manipulation using PHP.

[![Shared memory](shared_memory.gif)](shared_memory.gif)

Installation
------------

[](#installation)

Pretty simple with [Composer](http://packagist.org), run:

```
composer require gpslab/shmop
```

Usage
-----

[](#usage)

Creating new block

```
use GpsLab\Component\Shmop\Block;

$sh = new Block(
    0xFF, // id for memory block
    3 // memory block size
);
$sh->write('foo');
echo $sh->read(); // print 'foo'
$sh->delete();
```

Memory block must be a fixed size for correct reading from it.

Reading an existing block

```
use GpsLab\Component\Shmop\Block;

$sh = new Block(0xFF, 3);
// print contents of memory block. if block is not exists prints a blank line
echo $sh->read();
```

License
-------

[](#license)

This bundle is under the [MIT license](http://opensource.org/licenses/MIT). See the complete license in the file: LICENSE

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3288d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9a6415c83577efe7b70d9ae4a3bb12958adc11c16e530ff844ff217b0fd0c54a?d=identicon)[Peter Gribanov](/maintainers/Peter%20Gribanov)

---

Top Contributors

[![peter-gribanov](https://avatars.githubusercontent.com/u/1954436?v=4)](https://github.com/peter-gribanov "peter-gribanov (73 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (3 commits)")

---

Tags

phpshmop

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/gpslab-shmop/health.svg)

```
[![Health](https://phpackages.com/badges/gpslab-shmop/health.svg)](https://phpackages.com/packages/gpslab-shmop)
```

###  Alternatives

[imanghafoori/laravel-anypass

A minimal yet powerful package to help you in development.

21421.6k](/packages/imanghafoori-laravel-anypass)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
