CodeIgniter Helper函数忽略所有错误,输出甚至die()

时间:2018-04-11 07:59:10

标签: php codeigniter helpers

我是CodeIgniter的新手,但我非常熟悉像Symfony这样的MVC框架。

我正在更改自定义辅助函数,我从db中检索数据。我认为数据库检索不起作用,但我没有收到任何错误。辅助函数只是忽略错误。日志文件中没有错误(log_threshold = 4),而die()也被忽略。

我将在下面发布帮助函数,但我的问题不是我的代码有什么问题(如果有的话),问题是为什么错误和die()被忽略,我该怎么做才能解决这个问题?

function getRates() {
$ci=& get_instance();
$ci->load->database();

$ci->db->select('currency_values.*');
$ci->db->from('version1.currency_values');
$currencyValues = $ci->db->get();

$lastUpdated = strtotime($currencyValues->result()[0]->last_updated);
die(">>> $lastUpdated <<<"); //This gets ignored

if ($lastUpdated > time() - 600)
{
    //Code here that SHOULD be running
}
else
{
    //Code here that ALWAYS runs, most likely because db retrieval is not working
}

2 个答案:

答案 0 :(得分:0)

尝试使用try和catch并打印异常错误

try
{

}
catch(Exception $e){
echo $e;
}

答案 1 :(得分:0)

PHP无法忽略 die()调用。通过放几个假人来确认它: echo "1\n";在多个地方或通过 使用exit()代替die()。虽然完全猜测,但解释器可能正在从其他地方读取代码。这种情况如果不是那么罕见。

如果没有报告错误并且数据库检索失败,您可以使用PHP异常处理或将 error_reporting 设置为 E_ALL

error_reporting(E_ALL); ini_set('display_errors', 1);