Download the PHP package sallyx/redis-php-stream-wrapper without Composer
On this page you can find all versions of the php package sallyx/redis-php-stream-wrapper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sallyx/redis-php-stream-wrapper
More information about sallyx/redis-php-stream-wrapper
Files in sallyx/redis-php-stream-wrapper
Package redis-php-stream-wrapper
Short Description Implementation of streamWrapper using redis
License GNU 2 BSD-3-Clause
Homepage http://github.org/sallyx/redis-php-stream-wrapper
Informations about the package redis-php-stream-wrapper
redis-php-stream-wrapper
This package allows you to register redis server as php stream wrapper, so you will be able to use redis as as stream resource, i.e. 'redis://foo.txt'
Install
1. Install phpredis/phpredis
See phpredis/phpredis.
2. Install packages by composer
Setup
All together
Step by step
1. Create configuration
2. Create path translator
Prefix is used for keys in redis server. For example file 'redis://foo.txt' will be saved in redis under key 'www.example.org://foo.txt'.
3. Create connector
4. Create redis file system
5. Register as stream wrapper
redis is a scheme name of the wrapper ('redis:// ...')
6. Profit
Using with Nette
If you do not know Nette, have a look at www.nette.org or skip this block :)
First put setup into app/bootstrap.php or anywhere before you want to use redis stream wrapper. After that you can use redis. For example for temp directory:
Optionally, you can use StreamWrappersExtension in app/config/config.local.neon, which show diagnostic panel in debugger bar.
Now you could see your redis filesystem in the panel:
Known issues
If your PHP script ends unexpectedly, all locked files stay locked forever. You can unlock them in redis by this command:
Access rights are not supported (yet?). Functions like chmod(), chgrp(), chown() return always false.
Calling file_put_contents() with LOCK_EX option triggers E_WARNING "Exclusive locks may only be set for regular files" (This is a PHP bug)