2010-09-24 106 views
12

我正在为Prestashop开发一个PHP模块,我在试图调试代码时遇到了困难。无论何时发生什么事情,它都不会显示错误,只是一个空白页面 - 无论是模块挂钩的前端,还是后端模块页面。Prestashop没有错误/空白页

我想写在另一个类,或另一个功能,但它根本不喜欢它。

这是一个本地开发服务器上,PHP错误是对等

有人可以告诉我任何其他方式来调试的东西,而不是注释掉的代码?或者获得错误代码的一些方法?

感谢您的帮助提前。

回答

24

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

+0

太棒了!非常感谢 – 2010-09-24 22:10:50

+3

在PS 1.5.x中将_PS_MODE_DEV_更改为config/defines.inc.php中的true – 2014-01-16 10:28:31

0

检查了这一点的最终解决方案!

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

1)打开文件配置\ config.inc.php文件,找到下面这行:

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

2)改变“关”到“开”,重新上传文件并刷新页面。

如果没有帮助,请转到下一步。

3)将此代码添加到PrestaShop安装根目录中index.php文件的顶部,并将其重新上传到服务器上。然后尝试访问您的网站和管理面板。

<?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,您将在那里找到错误日志。

0

转到您的后台页面。

高级PARAMS - >性能 - >清除缓存(橡皮擦图标)

1

我不得不这样做

资质安装PHP5-mcrypt的 须藤资质安装PHP5-mcrypt的 须藤服务的Apache2重启

加密没有安装