Question

Je développe un module en PHP pour Prestashop et je suis un moment difficile essayer de code de débogage. Chaque fois que quelque chose tombe sur elle ne présente pas d'erreurs, juste une page blanche - soit à l'extrémité avant où le module est accroché, ou sur la page du module d'extrémité arrière.

Je suis en train d'écrire dans une autre classe, ou une autre fonction, mais il ne fonctionne pas comme ça du tout.

Il est sur un serveur dev local, les erreurs PHP sont sur etc.

Quelqu'un peut-il me dire d'une autre manière à des choses de débogage au lieu de commenter en code? Ou un moyen d'obtenir les codes d'erreur?

Merci pour votre aide à l'avance.

Était-ce utile?

La solution

Essayez config/config.inc.php d'ouverture puis changer:

@ini_set('display_errors', 'off')

à

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


De PS 1.5+, vous devez config/defines.inc.php ouvert et le changement:

define('_PS_MODE_DEV_', false);

à

define('_PS_MODE_DEV_', true);

Autres conseils

Accédez à votre page backoffice.

Avancé Params -> Performance -> Clean Cache (Eraser Icône)

Je devais faire

  

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

Le cryptage n'a pas été installé

vérifier cela pour la solution finale!

Tout d'abord, vous devez activer signaler les erreurs sur votre site.

1) Ouvrez le fichier config \ config.inc.php et trouver la ligne suivante:

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

2) Variation « off » « on », re-télécharger le fichier et vous rafraîchir la page.

Si elle ne l'aide, passez à l'étape suivante.

3) Ajouter ce code en haut de votre fichier index.php à la racine de l'installation PrestaShop et re-télécharger sur votre serveur. Ensuite, essayez d'accéder à votre site Web et le panneau d'administration.

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

Après ces manipulations, vous trouverez le fichier appelé errors.csv dans le dossier où le fichier index.php est situé. Téléchargez et ouvrez le fichier errors.csv à l'aide d'un éditeur de texte, vous trouverez le journal des erreurs là.

Dans mon cas (PS 1.7) i avait écran vide après avoir ajouté massivement de nombreux produits. J'ai aussi remarqué qu'il était un écran vide avec l'erreur 500 (i ai obtenu à partir de la console du navigateur).

La solution était d'augmenter simplement la limite de mémoire de mon PHP. Il peut se faire en ajoutant cette ligne au début du fichier index.php:

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

Je résolus avec 512 Mo, mais vous pouvez essayer plus si le problème persiste encore.

Ceci est juste une solution temporaire / rapide, si vous le voulez persistant, vous pouvez modifier directement cette valeur à la source, trouvez votre php.ini et juste modifier la valeur sur le champ memory_limit.

Vous pouvez trouver plus d'informations ici: https://www.inmotionhosting.com/support/prestashop-16/blank- écran

Je viens renomme « class_index.php » dans / cache quelque chose répertoire « class.index.old.php », puis rechargées site - et le tour est joué! site a été chargé. Et dans ce nouveau répertoire « class_index.php » a été créé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top