Comments (4)
Two options I'll consider to solve this situation:
- Check the Memcached version and based on that value decide which arguments to pass. This should be the preferable way to do it.
- Use
ReflectionMethod
to test for the number of expected arguments. This solution is dirty and shouldn't be considered as a long-term solution, as Memcached's API can change again in the future.
from scrapbook.
Hey @martin-georgiev, thanks for the detailed report!
I just pushed a new commit that should fix this issue - any chance you could try it out (it's in master) before I push a new release?
from scrapbook.
Thanks @matthiasmullie,
I can confirm that the change is behaving as expected now.
There is a separate, less significant problem. The library will not handle gracefully the case when \Memcached::getMulti()
returns false
. Such cases will produce an error:
Warning: Invalid argument supplied for foreach() in .../matthiasmullie/scrapbook/src/Adapters/Memcached.php on line 73
I think this should be handled within the Adapters\Memcached
(e.g. throwing a descriptive exception).
from scrapbook.
Thanks for the PR for that last issue! :)
from scrapbook.
Related Issues (20)
- tests cache/integration-tests dependency HOT 1
- Cache Statistics HOT 2
- Getting warning while get from APC
- Bottleneck in Couchbase Adapter HOT 1
- (Request) Setting a default TTL value HOT 1
- Trouble testing couchbase HOT 1
- Issue with Couchbase Adapter incompatibility (PHP 5.3)
- Compression HOT 2
- Stampede protection with "stale-while-revalidate" strategy? HOT 4
- PHP 7.4 error
- Documentation site returns 403 Forbidden HOT 1
- getClient HOT 1
- Redis wrong default value HOT 1
- Transaction savepoint HOT 1
- Stampede not working for phpredis > 4.0.0 HOT 2
- League Filesystem 2.0 HOT 1
- Update an existing value in cache causes the expire time (TTL) to be reset HOT 1
- undefined method: collection HOT 1
- Invalid key: test:string. Contains (a) character(s) reserved for future extension: HOT 4
- Support for psr/cache ^2.0 || ^3.0 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scrapbook.