我正在为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