如何解决如何在PHP上出于调试目的处理错误? 公共字符串?
| 我想做的是在if条件没有按预期进行的情况下,而不是在else {}中回显我的自定义错误消息,将错误消息存储在其他位置,然后从另一个页面中检索它。 例如,这是带有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失败了。数字比较容易,因为在某些情况下,与文本相比,我可能会玩很多文字信息,并且比文本更容易确认数字。
解决方法
您要存储错误消息并通过另一个脚本读取此消息。
这意味着您需要一个存储空间。
作为存储,您可以使用文件,内存缓存,APC或队列。
创建记录器,它将记录信息写入存储,然后在and2中,从存储中读取消息列表。
我建议使用Memcache,set_error_handler和trigger_error。
,我不确定“公用字符串”是什么意思,但是如果您要访问2页之间的变量,则至少需要将它们持久化为会话变量。
另外,使用PHP断言检查代码中的错误情况可能更好(我认为这是您想要在此处实现的目标):
断言应仅用作调试功能。您可以将它们用于完整性检查,以测试应该始终为TRUE的条件,如果条件不正确则指示某些编程错误,或者用于检查某些功能(例如扩展功能或某些系统限制和功能)的存在。
,尝试记录到文件:http://nl3.php.net/manual/en/errorfunc.configuration.php#ini.error-log。您可以提供一个自定义日志文件,在其中可以找到所有错误。
如果放入错误处理程序,则应该能够创建调试消息并将其存储在另一个文件中。
编写自己的日志记录机制,并将日志消息放入文件中。
,如上所述,我不是100%地确定您要做什么,但是与其在自定义错误消息中使用变量,不如使用常量可能更好。它们的好处是,值不能被重写,这与您可以在脚本中更改值的变量不同。
您的代码如下所示:
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文件中,并在包含该常量的任何页面上使用它们。
希望这可以帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。