2010-09-24 14 views
12

Estoy desarrollando un módulo en PHP para Prestashop y estoy teniendo dificultades para tratar de depurar el código. Cuando algo se cae, no muestra errores, solo una página en blanco, ya sea en la parte frontal donde se engancha el módulo, o en la página del módulo de fondo.Prestashop sin errores/página en blanco

Estoy tratando de escribir en otra clase, u otra función pero no me 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 obtener códigos de error?

Gracias por su ayuda con anticipación.

Respuesta

24

apertura Try config/config.inc.php y luego cambia:

@ini_set('display_errors', 'off')

a

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


De PS 1.5+, es necesario abrir config/defines.inc.php y el cambio:

define('_PS_MODE_DEV_', false);

a

define('_PS_MODE_DEV_', true);

+0

Awesome! Muchas gracias –

+3

En PS 1.5.x cambie _PS_MODE_DEV_ a verdadero en config/defines.inc.php –

0

mira esto para la solución final!

En primer lugar, debe habilitar los informes de errores en su sitio web.

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

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

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

Si no funciona, continúe con el siguiente paso.

3) Agregue este código al principio de su archivo index.php en la raíz de la instalación de PrestaShop y vuelva a subirlo a su servidor. Luego intente acceder a su sitio web y al panel de administración.

<?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. Descargue y abra el archivo errors.csv utilizando cualquier editor de texto, encontrará el registro de errores allí.

0

Vaya a su página de backoffice.

Parámetros avanzados -> Rendimiento -> Cache Limpio (icono de borrador)

1

que tenía que hacer

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

El cifrado no se instaló

Cuestiones relacionadas