【问题标题】:How to log mysql error via cakephp?如何通过 cakephp 记录 mysql 错误?
【发布时间】:2014-12-03 02:00:38
【问题描述】:

在我的 cakephp 控制器中,我有以下代码

if (is_bool($data_model->save($entry))) 
{
    CakeLog::write('fcshell', "Failed to saved contact data.");
} 
else 
{
    CakeLog::write('fcshell', "Successfully saved contact data ";
}

现在我想打印/检查 mysql 错误/警告日志以及 fcshell.log 文件中的“保存失败”行。

只有一个我能够在“mysql 服务器已消失”的测试实例之一上重现该问题,但后来无法重现相同的错误,并且在生产中仍然存在一些错误。我需要确定我是否解决了正确的 mysql 错误。

如果我在生产环境中将 core.php 中的 debug 设置为 2,它将在网页上打印错误。

谁能帮我找到一种方法来获取带有 fcshell 日志的 mysql 调试日志或任何其他调试方式。

【问题讨论】:

    标签: php mysql debugging cakephp logging


    【解决方案1】:

    基于documentationsave 通常在出现验证问题时会失败。

    您可以记录$data_model->validationErrors 而不是尝试记录 SQL 查询。如果存在模型验证错误,save 查询将不会运行。

    试试类似的东西

    CakeLog::write('fcshell', "Failed to saved contact data." . var_export($data_model->validationErrors, true));
    

    【讨论】:

    • 只有一个我能够在“mysql 服务器已消失”的测试实例之一上重现该问题,但后来无法重现相同的错误,并且在生产中仍然存在一些错误。我需要确定我是否解决了正确的 mysql 错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 2010-10-28
    相关资源
    最近更新 更多