How can i solve error : failed to open stream
-
01-10-2020 - |
Question
Product export working, only minimum no.of products only exported, not working bulk product export which means all products in my site(20,000 products [May be memory allocation error])
When I try to solve system.log file,
2016-07-19T05:20:48+00:00 ERR (3): Warning: include(AW/Blog/Controller/Router.php): failed to open stream: No such file or directory in /home/giritra/public_html/lib/Varien/Autoload.php on line 94
How can I solve this,
Autoload.php file :
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magento.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magento.com for more information.
*
* @category Varien
* @package Varien_Autoload
* @copyright Copyright (c) 2006-2016 X.commerce, Inc. and affiliates (http://www.magento.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
/**
* Classes source autoload
*/
class Varien_Autoload
{
const SCOPE_FILE_PREFIX = '__';
static protected $_instance;
static protected $_scope = 'default';
protected $_isIncludePathDefined= null;
protected $_collectClasses = false;
protected $_collectPath = null;
protected $_arrLoadedClasses = array();
/**
* Class constructor
*/
public function __construct()
{
register_shutdown_function(array($this, 'destroy'));
$this->_isIncludePathDefined = defined('COMPILER_INCLUDE_PATH');
if (defined('COMPILER_COLLECT_PATH')) {
$this->_collectClasses = true;
$this->_collectPath = COMPILER_COLLECT_PATH;
}
self::registerScope(self::$_scope);
}
/**
* Singleton pattern implementation
*
* @return Varien_Autoload
*/
static public function instance()
{
if (!self::$_instance) {
self::$_instance = new Varien_Autoload();
}
return self::$_instance;
}
/**
* Register SPL autoload function
*/
static public function register()
{
spl_autoload_register(array(self::instance(), 'autoload'));
}
/**
* Load class source code
*
* @param string $class
*/
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;
}
/**
* Register autoload scope
* This process allow include scope file which can contain classes
* definition which are used for this scope
*
* @param string $code scope code
*/
static public function registerScope($code)
{
self::$_scope = $code;
if (defined('COMPILER_INCLUDE_PATH')) {
@include COMPILER_INCLUDE_PATH . DIRECTORY_SEPARATOR . self::SCOPE_FILE_PREFIX.$code.'.php';
}
}
/**
* Get current autoload scope
*
* @return string
*/
static public function getScope()
{
return self::$_scope;
}
/**
* Class destructor
*/
public function destroy()
{
if ($this->_collectClasses) {
$this->_saveCollectedStat();
}
}
/**
* Save information about used classes per scope with class popularity
* Class_Name:popularity
*
* @return Varien_Autoload
*/
protected function _saveCollectedStat()
{
if (!is_dir($this->_collectPath)) {
@mkdir($this->_collectPath);
@chmod($this->_collectPath, 0777);
}
if (!is_writeable($this->_collectPath)) {
return $this;
}
foreach ($this->_arrLoadedClasses as $scope => $classes) {
$file = $this->_collectPath.DIRECTORY_SEPARATOR.$scope.'.csv';
$data = array();
if (file_exists($file)) {
$data = explode("\n", file_get_contents($file));
foreach ($data as $index => $class) {
$class = explode(':', $class);
$searchIndex = array_search($class[0], $classes);
if ($searchIndex !== false) {
$class[1]+=1;
unset($classes[$searchIndex]);
}
$data[$index] = $class[0].':'.$class[1];
}
}
foreach ($classes as $class) {
$data[] = $class . ':1';
}
file_put_contents($file, implode("\n", $data));
}
return $this;
}
}
Solution
add this file if you are using the blog
app/code/local or community/AW/Blog/Controller/Router.php
other wise commnet this code inside app/code/local or community/AW/Blog/etc/config.xml
<events>
<controller_front_init_routers>
<observers>
<blog>
<type>singleton</type>
<class>AW_Blog_Controller_Router</class>
<method>initControllerRouters</method>
</blog>
</observers>
</controller_front_init_routers>
</event>
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange