phpfastcache / couchbasev4-extension
Phpfastcache Couchbase v4 extension
Fund package maintenance!
Patreon
Installs: 35
Dependents: 0
Suggesters: 2
Security: 0
Stars: 0
Watchers: 4
Forks: 1
Type:phpfastcache-extension
Requires
- php: >=8.0
- ext-couchbase: ^4.0
- couchbase/couchbase: ^4.2.1
- phpfastcache/phpfastcache: ^9.2
Requires (Dev)
- jetbrains/phpstorm-stubs: dev-master
- phpfastcache/phpfastcache-devtools: ^9.2
- phpmd/phpmd: @stable
- phpstan/phpstan: ^1.5
- squizlabs/php_codesniffer: @stable
Suggests
- ext-pcntl: *
- ext-posix: *
This package is auto-updated.
Last update: 2024-10-31 22:52:48 UTC
README
Merge requests are welcome but will require the tests plus the quality tools to pass:
(Commands must be run from the repository root)
PHPCS, PHPMD, PHPSTAN (Level 6), unit tests:
composer run-script quality
composer run-script tests
# In case you want to fix the code style automatically:
./vendor/bin/phpcbf lib/ --report=summary
Support & Security
Support for this extension must be posted to the main Phpfastcache repository.
Composer installation:
composer install phpfastcache/couchbasev4-extension
⚠️ This extension requires:
1️⃣ The PHP Couchbase
extension 4.x at least
2️⃣ The composer Couchbase/Couchbase
library 4.x at least
⚠️ This extension optionally requires:
1️⃣ The PHP Posix
extension is needed use pcntl_fork()
for process forking.
To fork a php process correctly you will need to tell the Couchbase diver to prepare for the fork.
⚠️ WARNING You must call the drivers Phpfastcache\Drivers\Couchbasev4\Driver::prepareToFork()
just before the pcntl_fork()
call or the child process will lock up.
Example
try { \Phpfastcache\Drivers\Couchbasev4\Driver::prepareToFork(); $pid = pcntl_fork(); if ($pid == -1) { // There was a problem with forking the process } else if ($pid) { // continue parent process operations } else { // continue child process operations } } catch (PhpfastcacheDriverCheckException) { // the driver did not allow you to fork the process }
2️⃣ Also the PHP Pcntl
if you plan to contribute to this project and run the tests before pushing your Merge Request.