Устранение ошибок
Содержание
Устранение ошибок
В этом разделе описаны основные методы диагностики и устранения часто встречающихся ошибок.
Для получение наиболее полной информации об ошибке необходимо внести некоторые изменения в конфигурационные файлы.
Общие ошибки
"502 Bad Gateway"
При повторном входе покупателя возникает ошибка 502 или 504. Происходит из-за превышения максимальной длины заголовка. Решение 1: Написать хостеру на изменение параметров
proxy_buffer_size 16k; proxy_buffers 16 16k;
Решение 2: В authentication.php удалить строки
$cookie->customer_lastname = $customer->lastname; $cookie->customer_firstname = $customer->firstname;
Баг с сохранением русских мета-кейвордс
Появился в 1.4.0.17. Исправление в admin\tabs\AdminTabs.php заменить
$this->_cleanMetaKeywords(strtolower($_POST['meta_keywords_'.$language['id_lang']]));
на
$this->_cleanMetaKeywords(Tools::strtolower($_POST['meta_keywords_'.$language['id_lang']]));
Установка
Call to undefined function mb_substr()
Не установлено расширение php_mbstring
Импорт товаров
Обрезаются русские буквы
В /config/config.inc.php добавить
setlocale(LC_CTYPE, "ru_RU.UTF-8");
Не импортируются изображения
На некоторых хостингах отключена функция copy() по соображениям безопасности. Решение: В /admin/tabs/AdminImport.php заменить функцию copyImg:
private static function copyImg($id_entity, $id_image = NULL, $url, $entity = 'products') { $tmpfile = tempnam(_PS_TMP_IMG_DIR_, 'ps_import'); switch($entity) { default: case 'products': $path = _PS_PROD_IMG_DIR_.intval($id_entity).'-'.intval($id_image); break; case 'categories': $path = _PS_CAT_IMG_DIR_.intval($id_entity); break; } $content = file_get_contents($url); $fp = fopen($tmpfile, 'w'); fwrite($fp, $content); fclose($fp); if (is_file($tmpfile)) { imageResize($tmpfile, $path.'.jpg'); $imagesTypes = ImageType::getImagesTypes($entity); foreach ($imagesTypes AS $k => $imageType) imageResize($tmpfile, $path.'-'.stripslashes($imageType['name']).'.jpg', $imageType['width'], $imageType['height']); } else { unlink($tmpfile); return false; } return true; }