我正在爲Prestashop開發一個PHP模塊,我在試圖調試代碼時遇到了困難。無論何時發生什麼事情,它都不會顯示錯誤,只是一個空白頁面 - 無論是模塊掛鉤的前端,還是後端模塊頁面。Prestashop沒有錯誤/空白頁
我想寫在另一個類,或另一個功能,但它根本不喜歡它。
這是一個本地開發服務器上,PHP錯誤是對等
有人可以告訴我任何其他方式來調試的東西,而不是註釋掉的代碼?或者獲得錯誤代碼的一些方法?
感謝您的幫助提前。
我正在爲Prestashop開發一個PHP模塊,我在試圖調試代碼時遇到了困難。無論何時發生什麼事情,它都不會顯示錯誤,只是一個空白頁面 - 無論是模塊掛鉤的前端,還是後端模塊頁面。Prestashop沒有錯誤/空白頁
我想寫在另一個類,或另一個功能,但它根本不喜歡它。
這是一個本地開發服務器上,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);
檢查了這一點的最終解決方案!
首先,您需要在您的網站上啓用報告錯誤。
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,您將在那裏找到錯誤日誌。
轉到您的後臺頁面。
高級PARAMS - >性能 - >清除緩存(橡皮擦圖標)
我不得不這樣做
資質安裝PHP5-mcrypt的 須藤資質安裝PHP5-mcrypt的 須藤服務的Apache2重啓
加密沒有安裝
太棒了!非常感謝 – 2010-09-24 22:10:50
在PS 1.5.x中將_PS_MODE_DEV_更改爲config/defines.inc.php中的true – 2014-01-16 10:28:31