admin06.01.2015 15:50

Установка UMI.CMS. Ошибка 13083

Официально  данная ошибка описывается как «ошибки в работе сессии», однако на неофициальной  WIKI UMI.CMS  написано более логичное объяснение. Несмотря на это, советов по устранению я не нашел.

Ниже — мой выход из данной ситуации, который протестирован на многих проектах и пока что не выявил никаких нарушений в дальнейшей работе CMS. Однако применять его советую лишь в крайних случаях и не несу ответсвтенности за последствия поведению UMI.CMS на вашем хостинге.

Так же возможно изменения кода в фаиле installer.php и всегда ворзращать успех якобы проверка прошла успешно но в дальнейшем этот способ вылетает в трубу или занимает очень много времени

От теории к практике. Для игнорирования ошибки необходимо найти файл testhost.php на вашем аккаунте, где пока присутствуют лишь файлы для установки CMS:

Путь к файлу проверки

Это и есть файл, ответственный за проверку хоста на пригодность для установки UMI.CMS

Для того, чтобы игнорировать данную ошибку необходимо закомментировать или удалить тело функции checkSession

/**
 * Проверка работы сессии
 */
 function checkSession($mode = 'fopen') {
 /*if (!$this->domain) return;

file_put_contents(CURRENT_WORKING_DIR . '/umi_smt.php', '<?php 
 	@session_start(); 
 	$_SESSION["test"] = "test"; 
 	$sessionId = session_id();
 	@session_write_close(); 
 	unset($_SESSION["test"]); 
 	@session_start($sessionId);
 	echo($_SESSION["test"]);');

	if (!defined("PHP_FILES_ACCESS_MODE")) {
 	$mode = substr(decoct(fileperms(__FILE__)), -4, 4);
 	chmod(CURRENT_WORKING_DIR . '/umi_smt.php', octdec($mode));
 	} else {
 	chmod(CURRENT_WORKING_DIR . '/umi_smt.php', PHP_FILES_ACCESS_MODE);
 	}
	
	$checkUrl = 'http://' . $this->domain . '/umi_smt.php';
 	$result = '';
	
	if ($mode == 'fopen') {
 	$result = file_get_contents($checkUrl); 
 	} else {
 	$ch = curl_init();
 	curl_setopt($ch, CURLOPT_URL, $checkUrl);
 	curl_setopt($ch, CURLOPT_HEADER, 0);
 	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 	$result = curl_exec($ch);
 	}
	
	$this->assert($result == 'test', 13083);
	
	unlink(CURRENT_WORKING_DIR . '/umi_smt.php');*/
 	return;
 }