Перейти к содержанию
ksen

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

Рекомендуемые сообщения

Есть модуль импорта 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 все пути вроде верно прописаны. 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
define('OPENCART_ROOT_DIR', 'С:\OpenServer\domains\ocStore/');

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Изменено пользователем neonox

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

 

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

\ocStore\admin\config.php'

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

 

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

\ocStore\admin\config.php'

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

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

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

Пробовала:

define('OPENCART_ROOT_DIR', 'С:\OpenServer\domains\ocStore');
require_once(OPENCART_ROOT_DIR . '\admin\config.php');
так не работает( та же ошибка
Изменено пользователем ksen

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

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');

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

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

 

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

 

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

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-е - залив все на хостинг, заработало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это не ошибка

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.