在PHP 7的文档中,我注意到两个预定义的异常,Error并且ErrorException几乎完全相同,ErrorException具有附加$severity属性,并且Error仅在PHP 7中引入,而ErrorException自PHP 5.1起已存在.
根据我的理解,Error是我应该用来捕获所有内部PHP错误的异常,例如类型错误,但我不知道ErrorException异常的目的是什么.它们的用途是什么,我应该根据它们中的任何一个来定制我的自定义异常,还是应该坚持平常Exception?
正如PHP 文档中所述,$_SERVER超全局数组包含两个元素REQUEST_TIME和REQUEST_TIME_FLOAT,这两个元素都包含不同精度级别的请求开始的时间戳。
我当前正在使用以下代码片段来包含服务器在页面页脚中生成页面所需的时间(以毫秒为单位):
round((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT'])*1000,2);
Run Code Online (Sandbox Code Playgroud)
它返回一个准确的值(无法真正检查,但它似乎与浏览器开始加载页面所需的时间相匹配),但我想知道 和 变量包含$_SERVER['REQUEST_TIME']时间戳$_SERVER['REQUEST_TIME_FLOAT']的确切时刻?虽然我认为这些时间戳之间的差异并不显着,但我想知道时间戳是在哪个时刻拍摄的。是发送请求的时间、收到请求的时间、PHP 开始解析文档的时间还是其他时间?
502 Bad Gateway状态代码的定义是:
服务器在充当网关或代理时,在尝试完成请求时从其访问的上游服务器收到无效响应.
如果错误是由数据库引起的,它是一个适当的状态代码来响应吗?尽管500 Internal Server Error状态代码的定义没有说明错误必须是内部的,但我不喜欢在错误是外部时使用它.
Web服务器是否可以被视为网关或代理,因为它正在执行除与数据库通信之外的任务,例如调用其他API和服务?