Подтвердить что ты не робот

Prestashop нет ошибок/пустой страницы

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

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

Это на локальном dev-сервере, ошибки PHP и т.д.

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

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

4b9b3361

Ответ 1

Попробуйте открыть 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);

Ответ 2

Мне пришлось делать

aptitude install php5-mcrypt sudo aptitude install php5-mcrypt sudo service apache2 restart

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

Ответ 3

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

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

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

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

2) Измените "off to" on, повторно загрузите файл и обновите страницу.

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

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 с помощью любого текстового редактора, вы найдете там журнал ошибок.

Ответ 4

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

Дополнительные параметры → Производительность → Чистый кэш (значок ластика)