File tree Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Expand file tree Collapse file tree 2 files changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -195,6 +195,7 @@ static inline php_memc_object_t *php_memc_fetch_object(zend_object *obj) {
195195 php_memc_object_t* intern = NULL; \
196196 php_memc_user_data_t* memc_user_data = NULL;
197197
198+ #if PHP_VERSION_ID < 80000
198199#define MEMC_METHOD_FETCH_OBJECT \
199200 intern = Z_MEMC_OBJ_P(object); \
200201 if (!intern->memc) { \
@@ -203,6 +204,16 @@ static inline php_memc_object_t *php_memc_fetch_object(zend_object *obj) {
203204 } \
204205 memc_user_data = (php_memc_user_data_t *) memcached_get_user_data(intern->memc); \
205206 (void)memc_user_data; /* avoid unused variable warning */
207+ #else
208+ #define MEMC_METHOD_FETCH_OBJECT \
209+ intern = Z_MEMC_OBJ_P(object); \
210+ if (!intern->memc) { \
211+ zend_throw_error(NULL, "Memcached constructor was not called"); \
212+ RETURN_THROWS(); \
213+ } \
214+ memc_user_data = (php_memc_user_data_t *) memcached_get_user_data(intern->memc); \
215+ (void)memc_user_data; /* avoid unused variable warning */
216+ #endif
206217
207218static
208219zend_bool s_memc_valid_key_binary (zend_string * key )
Original file line number Diff line number Diff line change @@ -20,15 +20,17 @@ class extended extends Memcached {
2020}
2121
2222error_reporting (E_ALL );
23- $ extended = new extended ();
24- var_dump ($ extended ->setOption (Memcached::OPT_BINARY_PROTOCOL , true ));
23+ try {
24+ $ extended = new extended ();
25+ var_dump ($ extended ->setOption (Memcached::OPT_BINARY_PROTOCOL , true ));
26+ } catch (Error $ e ) {
27+ echo $ e ->getMessage () . PHP_EOL ;
28+ }
2529
2630echo "OK " . PHP_EOL ;
2731
2832--EXPECTF --
2933Memcached::__construct(): Argument #1 ($persistent_id) must be of type ?string, stdClass given
30-
31- Warning: Memcached::setOption (): Memcached constructor was not called in %s
32- NULL
34+ Memcached constructor was not called
3335OK
3436
You can’t perform that action at this time.
0 commit comments