Просмотр исходного кода

Fixes #345 - CallbackHandler throws warning if WeakRef-extension not installed

Frank Brückner 11 лет назад
Родитель
Сommit
7c183678ae
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      library/Zend/Stdlib/CallbackHandler.php

+ 4 - 1
library/Zend/Stdlib/CallbackHandler.php

@@ -101,7 +101,10 @@ class Zend_Stdlib_CallbackHandler
         }
 
         // If pecl/weakref is not installed, simply store the callback and return
-        if (!class_exists('WeakRef')) {
+        set_error_handler(array($this, 'errorHandler'), E_WARNING);
+        $callable = class_exists('WeakRef');
+        restore_error_handler();
+        if (!$callable || $this->error) {
             $this->callback = $callback;
             return;
         }