2010-09-24 103 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重啓

加密沒有安裝