Pregunta

Estoy desarrollando un módulo para Prestashop en PHP y estoy teniendo un momento difícil tratando de depurar el código. Cada vez que algo cae sobre ella no muestra errores, sólo una página en blanco - ya sea en la parte delantera, donde el módulo es enganchada, o en la página módulo de back-end.

Estoy intentando escribir en otra clase, u otra función, pero no le gusta en absoluto.

Es en el servidor dev locales, los errores de PHP están etc.

Puede alguien decirme alguna otra forma a la materia de depuración en lugar de comentando código? O alguna forma de conseguir los códigos de error?

Gracias por su ayuda de antemano.

¿Fue útil?

Solución

Trate config/config.inc.php apertura y luego cambiar:

@ini_set('display_errors', 'off')

a

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


A partir de PS 1.5+, es necesario config/defines.inc.php abierta y el cambio:

define('_PS_MODE_DEV_', false);

a

define('_PS_MODE_DEV_', true);

Otros consejos

Ir a la página de backoffice.

Avanzado Parámetros -> Rendimiento -> Limpiar caché (Borrador del icono)

que tenía que hacer

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

El cifrado no se ha instalado

mira esto para la solución final!

En primer lugar, necesita habilitar errores de informes en su página web.

1) Abrir el archivo config \ config.inc.php y encontrar la siguiente línea:

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

2) Cambio ‘off’ a ‘on’, vuelva a cargar el archivo y actualizar la página.

Si no ayuda, ir al siguiente paso.

3) Incluir este código al principio del archivo index.php en la raíz de la instalación de PrestaShop y volver a cargarlo en el servidor. A continuación, intente acceder a su panel de sitio web y administrador.

    <?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");
  } 
   }
?>

Después de esto, las manipulaciones se encuentra el archivo llamado errors.csv en la carpeta donde se encuentra el archivo index.php. Descargar y abrir la errors.csv archivo con cualquier editor de texto, se encuentra el registro de errores allí.

En mi caso (PS 1.7) tuve pantalla en blanco después de añadir masivamente muchos productos. También me di cuenta que era una pantalla en blanco con el error 500 (lo tengo desde la consola del navegador).

La solución era simplemente aumentar el límite de memoria de mi PHP. Se puede hacer mediante la adición de esta línea al principio del archivo index.php:

ini_set('memory_limit', '512M');

Me soluciona con 512 Mb, pero se puede tratar más si el problema persiste.

Esto es sólo una solución temporal / rápido, si lo desea persistente, puede cambiar directamente ese valor en la fuente, encontrar su php.ini y simplemente editar el valor en el campo memory_limit.

Puede encontrar más información aquí: https://www.inmotionhosting.com/support/prestashop-16/blank- pantalla

Yo sólo ha cambiado el nombre 'class_index.php' en / cache directorio para algo 'class.index.old.php', a continuación, vuelve a cargar el sitio - y listo! sitio estaba cargada. Y en este nuevo directorio 'class_index.php' fue creada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top