2010-09-24 10 views
12

Tôi đang phát triển một mô-đun trong PHP cho Prestashop và tôi đang gặp khó khăn trong việc cố gắng gỡ lỗi mã. Bất cứ khi nào một cái gì đó rơi qua nó không hiển thị lỗi, chỉ cần một trang trống - hoặc ở mặt trước, nơi mô-đun được nối, hoặc trên trang mô-đun đầu cuối.Prestashop không có lỗi/trang trắng

Tôi đang cố gắng viết trong một lớp khác hoặc một chức năng khác nhưng nó hoàn toàn không thích.

Đó là trên một máy chủ dev địa phương, các lỗi PHP là ngày, vv

Ai đó có thể cho tôi biết bất kỳ cách nào khác để thứ debug thay vì cho ý kiến ​​ra mã? Hoặc một số cách nhận mã lỗi?

Cảm ơn sự giúp đỡ của bạn trước.

Trả lời

24

Hãy thử mở config/config.inc.php và sau đó thay đổi:

@ini_set('display_errors', 'off')

để

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


Từ PS 1.5 trở lên, bạn cần phải mở config/defines.inc.php và thay đổi:

define('_PS_MODE_DEV_', false);

để

define('_PS_MODE_DEV_', true);

+0

Tuyệt vời! Cảm ơn rất nhiều –

+3

Trong PS 1.5.x thay đổi _PS_MODE_DEV_ thành true trong config/define.inc.php –

0

việc kiểm tra này ra cho giải pháp cuối cùng!

Trước hết, bạn cần bật báo cáo lỗi trên trang web của mình.

1) Mở file config \ config.inc.php và tìm dòng sau:

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

2) Thay đổi ‘tắt’ để ‘bật’, lại tải lên các tập tin và làm mới trang của bạn.

Nếu không hiệu quả, hãy chuyển sang bước tiếp theo.

3) Thêm mã này vào đầu tệp index.php của bạn trong thư mục gốc của cài đặt PrestaShop và tải lại lên máy chủ của bạn. Sau đó, hãy thử truy cập trang web và bảng điều khiển quản trị của bạ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"); 
    } 
    } 
?> 

Sau thao tác này, bạn sẽ tìm thấy tệp có tên là errors.csv trong thư mục chứa tệp index.php của bạn. Tải xuống và mở tệp errors.csv bằng bất kỳ trình soạn thảo văn bản nào, bạn sẽ tìm thấy nhật ký lỗi ở đó.

0

Truy cập trang backoffice của bạn.

nâng cao Params -> Performance -> Xóa bộ nhớ cache (Eraser Icon)

1

tôi phải làm

aptitude install php5-Mcrypt sudo aptitude install php5-Mcrypt sudo dịch vụ apache2 restart

Mã hóa không được cài đặt