Често срещани грешки в OpenCart и различни решения за отстраняването им – Втора част_188bet足球app_188bet体育￥官网

Elenkov
Wed, 22 May 2013 14:31:34 +0000
Uncategorized @bg, opencart error, opencart грешки, грешки при opencart

Продължаваме с друга група често срещани грешки в OpenCart и ефективни решения за отстраняването им.

3. Грешка тип Недефинирана функция/метод (Undefined Function / Method)

Ако получите “Fatal error: Call to undefined function” или “Fatal error: Call to undefined method”, това означава че се опитвате да извикате функция/ метод, които не съществуват. Това често се случва, когато файлът не е качен правилно или разширението не е съвместимо с вашата версия на OpenCart; или просто наистина не съществува. Тук ще се опитам да класифицирам проблема, базиран на съобщението за грешка.

Вариант на грешката:

Отнасяща се до основните файлове на OpenCart

Fatal error: Call to undefined function utf8_strlen() in /path/public_html/system/helper/utf8.php on line 39

Fatal error: Call to undefined method Customer::isLogged() in /path/public_html/catalog/model/catalog/product.php on line 8

Warning: require_once(/path/public_html/system/library/customer.php) [function.require-once]: failed to open stream: No such file or directory in /path/public_html/index.php on line 22

Fatal error: require_once() [function.require]: Failed opening required ‘/path/public_html/system/library/customer.php’ (include_path=’.:/usr/lib/php’) in /path/public_html/index.php on line 22

Отнасяща се до vQmod файлове

Fatal error: Call to undefined method ModelAccountCustomer::getPaymentAddress() in /path/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_confirm.php on line 38

Отнасяща се до PHP вградени функции

Fatal error: Call to undefined function imagecreatefromjpeg() in /path/public_html/system/library/image.php on line 34

Fatal error: Call to undefined function mysql_connect() in /path/public_html/system/database/mysql.php on line 6

Решение

Отнасяща се до основните файлове на OpenCart

1. Някои файлове не са качени или са повредени в процеса на качване. Качете отново файловете на сървъра с ASCII мод, не двуичен.

2. В някои случаи, грешката се появява, защото файлът на сървъра не е конфигуриран правилно в config.php. Проверете отново файла на сървъра в config.php и admin/cofig.php

3. “Warning/ Fatal error: require_once” означава, че файлът не е достъпен. Трябва да качите отново споменатия в съобщението за грешка файл или да поправите файла на сървъра в config.php, както е описано по-горе.

Отнасяща се до vQmod файлове

1. vQmod файловете да генерират ново каше от разширенията vQmod файлове. Проверете разрешението на vqmod/cache папката, бъдете сигурни, че позволява записване и изчистете всички каше файлове.

2. Позволен / непозволен един по един файловете vQmod, които имате. Когато установите причината, свържете се с поддръжката на OpenCart.

3. Разширението не е съвместимо с вашата версия на OpenCart или има бъг. Свържете се с поддръжката на OpenCart.

Отнасяща се до PHP вградени функции

1. PHP има много вградени функции, които може да проверите тук. Грешки, отнасящи се до PHP вградени функции са проблеми в сървъра. Свържете се с хостинг оператора, за да разрешите проблема.

4. Грешка тип Headers Already Sent

Грешката “headers already sent” се получава веднага след инсталиране, модифициране, обновяване на OpenCart или vQmod файлове. Разполагате с добър справочник обясняващ проблема.

Вариант на грешката:

Warning: Cannot modify header information – headers already sent by (output started at /path/public_html/config.php:31) in /path/public_html/index.php on line 175.

Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /path/public_html/config.php:31) in /path/public_html/system/library/session.php on line 11.

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /path/public_html/config.php:31) in /path/public_html/system/library/session.php on line 11.

Решение:

Качете файла с посочената грешка, след което приложете решението, посочено долу:

1. Премахнете интервалите в началото и в края на файла.

123 | ??<?php //contain spaceecho „remove all space or line-break before <?php and after ?>“;?>

2. Запаметете отново файла с Notepad++ или друг едитор (кодирайте файла с ANSI или UTF-8 без BOM).

3. Качете го отново на сървъра с FTP в ASCII мод, не двуичен.

5. Грешка тип Session Issue

PHP сесиите съхраняват информацията за потребителя на сървъра за по-късна употреба (например статус за влизане в системата, закупени стоки и др) в заявките на страниците. Сесията представлява временна информация, която бива изтрита, след като потребителят напусне сайта. OpenCart използва сесии в много аспекти, като статус за логване, количка за пазаруване, сравняване на продукти и т.н. В повечето случаи, проблем в сесията ще предизвика съобщение за грешка. Понякога се случва и да не се появи никакво съобщение. За да разпознаете грешката, ето някои индикации за проблем в сесията:

1. Продукт в количката е изчезнал от само себе си.

2. Продукт в количката се е изтрил, след като потребителят е влезнал в системата.

3. Няма съхранени продукти за сравняване.

4. OpenCart администратор непрекъснато изисква от вас да влезете в системата, със съобщението “Invalid token session. Please login again”.

Вариант на грешката:

Warning: session_start () [function.session-start]: open (/tmp/sess_41abirkdiesf9efwej46wtib2, O_RDWR) failed: No such file or directory (2) in /path/public_html/system /library /session.php on line 11

Warning: session_start () [function.session-start]: open (/tmp/sess_41abirkdiesf9efwej46wtib2, O_RDWR) failed: Permission denied (13) in /path/public_html/system /library /session.php on line 11

Warning: session_start() [function.session-start]: open(/tmp/sess_41abirkdiesf9efwej46wtib2, O_RDWR) failed: No space left on device (28) in /path/public_html/upload/system/library/session.php on line 11

Решение:

Не съществува такъв файл или проблем в директорията

1. Отворете php.ini и добавете посоченият по-долу код:

1 | session.save_path = /tmp;

2. Ако горното решение не проработи, свържете се с хоста и ги попитайте как да настроите файла session.save_path.

Други грешки

1. “Permission denied”, Поискайте от хостинга да провери разрешението на директорията за сесията.

2. “No space left on device”, попитайте хостинга дали е проблем на сървъра или трябва да разширите хостинг пространството.