Jump to content
Sign in to follow this  
ksen

[Решено] Ошибка поиска путей Fatal error: require_once()

Recommended Posts

Есть модуль импорта xls-файла на сайт https://opencartforum.com/topic/34309-экспортимпорт-больших-xls-файлов/  Настроила импорт кроном, но выдается сообщение об ошибке:

PHP Fatal error: require_once() [function.require]: Failed opening required 'С:\OpenServer\domains\ocStore/admin/config.php' (include_path='.;C:/OpenServer/modules/php/PHP-5.2.17/;C:/OpenServer/modules/php/PHP-5.2.17/PEAR') in C:\OpenServer\domains\ocStore\admin\import.php on line 5

 

Пути все проверила, файлы присутствуют. Файл, запускаемый кроном import.php:

<?php

define('OPENCART_ROOT_DIR', 'С:\OpenServer\domains\ocStore/');

require_once(OPENCART_ROOT_DIR . 'admin/config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_DATABASE . 'mysql.php');
require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/ajax.php');
require_once(OPENCART_ROOT_DIR . 'admin/controller/tool/fileupload.php');
require_once(OPENCART_ROOT_DIR . 'admin/model/tool/export.php');

$file = OPENCART_ROOT_DIR . 'import/backup_categories_products.xls';

// Registry
$registry = new Registry();

// Loader
$obj = new Loader($registry);
$registry->set('load', $obj);

// Config
$config = new Config();
$registry->set('config', $config);

// Database
$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$registry->set('db', $db);

// Settings
$query = $db->query("SELECT * FROM " . DB_PREFIX . "setting");

foreach ($query->rows as $setting) {
        $config->set($setting['key'], $setting['value']);
}

// Cache
$registry->set('cache', new Cache());

// Language Detection
$query = $db->query("SELECT language_id FROM " . DB_PREFIX . "language WHERE code = '" . $config->get('config_language') .  "'");
$language_id = $query->row['language_id'];
$config->set('config_language_id', $language_id);

// Default Store
$config->set('config_store_id', 0);

$obj->load->model('tool/export');




	$file = fileupload("{$_SERVER['DOCUMENT_ROOT']}".'admin/uploads');
	echo json_encode(array('status'=>'ok','file'=>$file));

class ControllerToolImport extends Controller { 
	private $error = array();
	

	public function index() {
		$obj->load->model('tool/export');
		$file = $_GET["file"];
		if (file_exists($file)) {
			if ($obj->model_tool_export->upload($file)) {
				echo "The End";
				unset($_SESSION['startRow']);
				unset($_SESSION['isFirstEnter']);
				unset($_SESSION['productRewardId']);
				@unlink($file);
				//$this->session->data['success'] = $this->language->get('text_success');
				//$this->redirect($this->url->link('tool/export', 'token=' . $this->session->data['token'], 'SSL'));
			}
			else {
				//$this->error['warning'] = $this->language->get('error_upload');
				//echo "Не удалось загрузить файл!";
			}
		} else {
			echo "Ошибка! Не удалось обнаружить файл: ".$file; 
		}

	}


	public function download() {
		if ($obj->validate()) {

			// set appropriate timeout limit
			set_time_limit( 1800 );

			// send the categories, products and options as a spreadsheet file
			$obj->load->model('tool/export');
			$obj->model_tool_export->download();

		} else {

			// return a permission error page
			return $obj->forward('error\permission');
		}
	}


	private function validate() {
		if (!$obj->user->hasPermission('modify', 'tool/export')) {
			$obj->error['warning'] = $obj->language->get('error_permission');
		}
		
		if (!$obj->error) {
			return TRUE;
		} else {
			return FALSE;
		}
	}
}
echo "\n";
echo "Import is succefully complete!\n";
?>

В файле config.php все пути вроде верно прописаны. 

Подскажите, где искать проблему? 

 

Share this post


Link to post
Share on other sites
define('OPENCART_ROOT_DIR', 'С:\OpenServer\domains\ocStore/');

Сайт на хостинге или локально пока?

Share this post


Link to post
Share on other sites

Да и в самом путе С:\OpenServer\domains\ocStore/admin/config.php Вы не ошиблись?

В автопоиске корневой папки какие у Вас настройки?

Edited by neonox

Share this post


Link to post
Share on other sites

Да и в самом путе С:\OpenServer\domains\ocStore/admin/config.php Вы не ошиблись?

В автопоиске корневой папки какие у Вас настройки?

Сайт на локалке. В пути вроде все верно - в файле config.php пути именно с такими слешами прописаны, да и сама их пробовала менять в обе стороны.   Простите, за неграмотность, а настройки автопоиска корневой папки где посмотреть? Если в доменах OPENServera, то там указано в автопоиске  " htdocs www http htdocs docs web httpdocs public html site ocStore domains ".

Share this post


Link to post
Share on other sites

вам же белым по черному пишет

\ocStore/admin/config.php' - нверный путь

догадайтесь почему?

 

 

а если вы пропишите:

\ocStore\admin\config.php'

Будет работать.

догадайтесь почему?

Share this post


Link to post
Share on other sites

вам же белым по черному пишет

\ocStore/admin/config.php' - нверный путь

догадайтесь почему?

 

 

а если вы пропишите:

\ocStore\admin\config.php'

Будет работать.

догадайтесь почему?

Вы издеваетесь? Пишу же, хоть так хоть так не работает!

Пробовала:

define('OPENCART_ROOT_DIR', 'С:\OpenServer\domains\ocStore');
require_once(OPENCART_ROOT_DIR . '\admin\config.php');
так не работает( та же ошибка
Edited by ksen

Share this post


Link to post
Share on other sites

Нет не издеваюсь

 

да и сама их пробовала менять в обе стороны. 

 

В каком месте? в конфиге

 

А в самом файле?

require_once(OPENCART_ROOT_DIR . 'admin\config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_DATABASE . 'mysql.php');
require_once(OPENCART_ROOT_DIR . 'admin\controller\tool\ajax.php');
require_once(OPENCART_ROOT_DIR . 'admin\controller\tool\fileupload.php');
require_once(OPENCART_ROOT_DIR . 'admin\model\tool\export.php');

Share this post


Link to post
Share on other sites

 

Нет не издеваюсь

 

В каком месте? в конфиге

 

А в самом файле?

require_once(OPENCART_ROOT_DIR . 'admin\config.php');
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_DATABASE . 'mysql.php');
require_once(OPENCART_ROOT_DIR . 'admin\controller\tool\ajax.php');
require_once(OPENCART_ROOT_DIR . 'admin\controller\tool\fileupload.php');
require_once(OPENCART_ROOT_DIR . 'admin\model\tool\export.php');

Настроила именно с вариантом \ocStore/admin/config.php, такой путь и в конфиге и в самом файле, ошибка была в OpenSrver-е - залив все на хостинг, заработало.

Share this post


Link to post
Share on other sites

Это не ошибка

Это проблема консольных приложений для win платформ.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.