2010-09-24 5 views
12

Я разрабатываю модуль в PHP для Prestashop, и мне сложно провести отладку кода. Всякий раз, когда что-то падает, оно не отображает ошибок, просто пустую страницу - либо на переднем конце, где подключен модуль, либо на странице модуля задней панели.Prestashop no errors/blank page

Я пытаюсь написать в другом классе или в другой функции, но это совсем не нравится.

Это на локальном сервере Dev, ошибки PHP находятся на пр

Может кто-нибудь сказать мне какой-либо другой способ для отладки материала вместо комментирования кода? Или каким-то образом получить коды ошибок?

Спасибо за вашу помощь заранее.

ответ

24

Try открытие config/config.inc.php, а затем изменить:

@ini_set('display_errors', 'off')

в

@ini_set('display_errors', 'on').


От PS 1.5+, вам необходимо открыть config/defines.inc.php и изменения:

define('_PS_MODE_DEV_', false);

в

define('_PS_MODE_DEV_', true);

+0

Awesome! Большое спасибо –

+3

В PS 1.5.x измените _PS_MODE_DEV_ на true в config/define.inc.php –

0

проверить это для окончательного решения!

Прежде всего, вам необходимо включить отчет об ошибках на своем веб-сайте.

1) Открыть файл конфигурации \ config.inc.php и найти следующую строку:

@ini_set(‘display_errors’, ‘off’);  

2) Изменение «выключено» к «на», повторно загрузить файл и обновите страницу.

Если это не поможет, перейдите к следующему шагу.

3) Добавьте этот код в начало вашего файла index.php в корневой каталог PrestaShop и повторно загрузите его на свой сервер. Затем попробуйте открыть свой веб-сайт и панель администратора.

<?php error_reporting(0); 
     $old_error_handler = set_error_handler("userErrorHandler"); 

     function userErrorHandler ($errno, $errmsg, $filename, $linenum, $vars) 
    { 
    $time=date("d M Y H:i:s"); 
    // Get the error type from the error number 
    $errortype = array (1 => "Error", 
         2 => "Warning", 
         4 => "Parsing Error", 
        8 => "Notice", 
        16 => "Core Error", 
        32 => "Core Warning", 
        64 => "Compile Error", 
        128 => "Compile Warning", 
        256 => "User Error", 
        512 => "User Warning", 
        1024 => "User Notice"); 
    $errlevel=$errortype[$errno]; 

    //Write error to log file (CSV format) 
    $errfile=fopen("errors.csv","a"); 
    fputs($errfile,"\"$time\",\"$filename: 
    $linenum\",\"($errlevel) $errmsg\"\r\n"); 
    fclose($errfile); 

    if($errno!=2 && $errno!=8) { 
    //Terminate script if fatal error 
    die("A fatal error has occurred. Script execution has been aborted"); 
    } 
    } 
?> 

После этого манипуляций вы найдете файл с именем errors.csv в папке, где ваш файл index.php находится. Загрузите и откройте файл errors.csv с помощью любого текстового редактора, там вы найдете журнал ошибок.

0

Перейдите на страницу backoffice.

Advanced Params -> Производительность -> Clean Cache (Eraser Icon)

1

я должен был сделать

способность установить php5-Mcrypt Sudo способности установки php5-Mcrypt SUDO служба apache2 перезагрузка

Шифрование не установлено

Смежные вопросы