我想要做的是当if条件没有按照它应该进行时,而不是在else {}中回显我的自定义错误消息,将错误消息存储在其他地方并从另一个页面检索它。 / p>
例如,这是我的带有if条件的页面:
if ($something < 4){
echo 'yes it is less than four';
else { echo 'no it isn\'t less than four';}
我想例如将这些错误消息存储在字符串中并给它们编号:
if ($something < 4){
$debug11 = 'yes it is less than four';
echo '11';
else { $debug10 = 'no it isn\'t less than four'; echo '10'; }
然后让我们假设有一个带有php类的debug.php文件可以回显这些消息但是为了这样做它需要知道$ debug11是什么,它可以做到这一点而不包括那个php页面吗?是公共字符串的用途?或者我应该在debug.php
中定义所有这些内容所有这一切的要点是jquery将调用此file.php并获取11或10之类的消息,在这种情况下成功或失败然后我将能够知道它为什么失败了debug.php。数字更容易,因为我可以用很多文本信息来播放,如果条件的话,用数字比用文字更容易确认。
答案 0 :(得分:2)
您希望存储错误消息并通过其他脚本阅读此消息
这意味着你需要一个存储空间
作为存储空间,您可以使用files,memcache,APC或queues。
创建记录器,将消息写入存储,然后在debug.php
中,您将读取存储中的消息列表。
我建议使用Memcache,set_error_handler和trigger_error。
答案 1 :(得分:1)
我不确定“公共字符串”是什么意思,但如果您要查看2页之间的变量,则至少需要将它们保存到session variable。
另外,您可能最好使用PHP assertions检查代码中的错误情况(我认为这是您在此处尝试实现的目标):
断言应仅用作调试功能。您可以将它们用于进行健全性检查,以检测应始终为TRUE的条件,如果没有则指示某些编程错误,或检查是否存在某些功能,如扩展功能或某些系统限制和功能。
答案 2 :(得分:1)
尝试登录文件:http://nl3.php.net/manual/en/errorfunc.configuration.php#ini.error-log。您可以提供自定义日志文件,您可以在其中找到所有错误。
如果你输入错误处理程序,你应该能够创建调试消息并将它们存储在另一个文件中。
编写自己的日志记录机制并将日志消息放入文件中。
答案 3 :(得分:0)
如上所述,我并非100%确定您要执行的操作,但是不使用变量作为自定义错误消息,最好使用Constants。它们的好处是,与您可以更改脚本中的值的变量不同,不能重写值。
您的代码看起来像这样:
define("ERROR1", "It wont Work!");
define("ERROR2", "It still wont Work!");
define("ERROR3", "It must be broken!");
if ($something < 4){
echo '11';
} else {
echo ERROR1; // Prints "It wont Work!"
}
您可以将这些常量存储在debug.php文件中,并在包含该文件的任何页面上使用它们。
希望这有帮助。