Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This happens when you've registered an error handler which throws an Exception:</p> <pre><code>set_error_handler('errorFunction'); function errorFunction($errno, $errstr, $errfile, $errline) { throw new ErrorException($errstr, 0, $errno, $errfile, $errline); } </code></pre> <p>In Zend/Gdata/App.php version 1.11.11, lines 1046 to 1059:</p> <pre><code>1046 foreach ($this-&gt;_registeredPackages as $name) { 1047 try { 1048 // Autoloading disabled on next line for compatibility 1049 // with magic factories. See ZF-6660. 1050 if (!class_exists($name . '_' . $class, false)) { 1051 require_once 'Zend/Loader.php'; 1052 @Zend_Loader::loadClass($name . '_' . $class); 1053 } 1054 $foundClassName = $name . '_' . $class; 1055 break; 1056 } catch (Zend_Exception $e) { 1057 // package wasn't here- continue searching 1058 } 1059 } </code></pre> <p>The class relies on the loader to throw a Zend_Exception if the file / class it tries to load doesn't exist, or just suppresses the error with the <code>@</code> symbol.</p> <p>Throwing the <code>ErrorException</code> in the error handler bypasses the error suppression, and causes this code to fail.</p> <h3>The Solution</h3> <p>I've commented on the ZF issue the reason and a potential fix for the problem. In the mean time, you can just add the following on lines 1058 - 1060</p> <pre><code>} catch (ErrorException $e) { //Do Nothing, just the file not found error } </code></pre> <p><strong>or</strong> just change the <code>Zend_Exception</code> on line 1056 to the base <code>Exception</code>, as it's done in ZF2.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload