我正在为Prestashop开发一个PHP中的模块,并且很难进行调试代码。每当某事掉落时,它都不会显示错误,只有一个空白页 - 在模块挂钩的前端或后端模块页面上。

我正在尝试在其他类或其他功能中写入,但根本不喜欢它。

它在本地开发服务器上,php错误已打开。

有人可以告诉我其他方法来调试内容而不是评论代码吗?还是某种获取错误代码的方法?

感谢您提前的帮助。

有帮助吗?

解决方案

尝试打开 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);

其他提示

转到您的后退页面。

高级参数 - >性能 - >清洁缓存(橡皮图)

我必须做

能力安装php5-mcrypt sudo能力安装php5-mcrypt sudo服务apache2重新启动

没有安装加密

检查一下最终解决方案!

首先,您需要在网站上启用报告错误。

1)打开文件config config.inc.php并找到以下行:

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

2)将“关闭”更改为“ 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");
  } 
   }
?>

经过此操作后,您将在您的index.php文件所在的文件夹中找到称为errors.csv的文件。使用任何文本编辑器下载并打开文件errors.csv,您将在此处找到错误日志。

在我的情况下(PS 1.7),在大量添加了许多产品后,我有空白屏幕。我还注意到这是一个带错误500的空白屏幕(我是从浏览器控制台获得的)。

解决方案是简单地增加我的PHP的内存限制。可以通过将此行添加到index.php文件的开头来完成:

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

我用512m解决了问题,但是如果问题仍然存在,您可以尝试更多。

这只是一个临时/快速解决方案,如果您希望它持续,可以直接更改该值 php.ini 并只编辑该值 memory_limit 场地。

您可以在此处找到更多信息:https://www.inmotionhosting.com/support/prestashop-16/blank-screen

我刚刚将 /CACE Directory中的“ class_index.php”重命名为'class.index.old.php',然后重新加载的站点 - 和voila!站点已加载。在此目录中创建了新的“ class_index.php”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top