Magento – Error failed opening

autoloadercomposererrormagento-1.9

Can someone tell me what I have to do to fix it ?

local:/data/web/public/app/code/community:/data/web/public/app/code/core:/data/web/public/lib:.:/usr/share/php:/usr/share/pear')  in /data/web/public/lib/Varien/Autoload.php on line 94
2015-12-30T08:55:04+00:00 ERR (3): Warning: include(Composer\Command\Helper\DialogHelper.php): failed to open stream: No such file or directory  in /data/web/public/lib/Varien/Autoload.php on line 94
2015-12-30T08:55:04+00:00 ERR (3): Warning: include(Composer\Command\Helper\DialogHelper.php): failed to open stream: No such file or directory  in /data/web/public/lib/Varien/Autoload.php on line 94
2015-12-30T08:55:04+00:00 ERR (3): Warning: include(): Failed opening 'Composer\Command\Helper\DialogHelper.php' for inclusion (include_path='/data/web/public/app/code/local:/data/web/public/app/code/community:/data/web/public/app/code/core:/data/web/public/lib:.:/usr/share/php:/usr/share/pear')  in /data/web/public/lib/Varien/Autoload.php on line 94

Code in Autoload.php line 94 : return include $classFile;

   public function autoload($class)
{
    if ($this->_collectClasses) {
        $this->_arrLoadedClasses[self::$_scope][] = $class;
    }
    if ($this->_isIncludePathDefined) {
        $classFile =  COMPILER_INCLUDE_PATH . DIRECTORY_SEPARATOR . $class;
    } else {
        $classFile = str_replace(' ', DIRECTORY_SEPARATOR, ucwords(str_replace('_', ' ', $class)));
    }
    $classFile.= '.php';
    //echo $classFile;die();
    return include $classFile;
}

Best Answer

the Autoload tries to require the file for a class that isn't found in the code base yet. Since it is requiring File.php it stands to reason that somewhere in the code the class File() is called which doesn't exist yet in your codebase.

If you track down the spot where that class is instantiated you will have fixed the issue.

you have to manually hit log using bellow code:

In /lib/Varien/Autoload.php above line 94, add the following:

if (strstr($classFile, '@')) {
    try {
        Mage::log(var_export(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), true), null, 'system.log', true);
    } catch (Exception $e) {}
}

hen hit any page known to cause to Warning in your logs. Then go to /var/log/system.log and look for a debug stack trace. It will start with this:

 0 => 
  array (
    'function' => 'autoload',
    'class' => 'Varien_Autoload',
    'type' => '->',
  ),

From there, you should see what file and method is causing an autoload of this non-existent class.

When you're done, revert Autoload.php

I hope this will help you.

Related Topic