假设我定义了一个点击处理程序:
$("#foo").click(function(e){
});
我怎样才能在函数处理程序中判断事件是以编程方式触发还是由用户触发?
我最近遇到了一些关于PHP内存限制的问题:
内存不足(分配22544384)(试图分配232个字节)
这些都是调试的麻烦,因为我没有留下关于导致问题的原因的大量信息.
添加关机功能有所帮助
register_shutdown_function('shutdown');
然后,使用error_get_last(); 我可以获取有关上一个错误的信息,在这种情况下,"内存不足"致命错误,例如行号和php文件名.
这很好,但是我的php程序非常面向对象.堆栈深处的错误并没有告诉我有关错误时控制结构或执行堆栈的信息.我已经尝试过debug_backtrace(),但这只是在关机期间向我显示堆栈,而不是错误发生时的堆栈.
我知道我可以使用ini_set或修改php.ini来提高内存限制,但这并没有让我更接近实际找出消耗如此多内存的内容或错误期间执行流程的样子.
任何人都有一个很好的方法来调试高级面向对象的PHP程序中的内存错误?
我有一个1.9MB的PHP库,我在脚本的开头包含了这个库.它包含我的网站所需的所有数据库对象,方法等.每次包含它需要0.1s至0.3s.
我使用eAccelerator来缓存这个文件的字节码.我还能做些什么来优化这个'包含'的性能?