关于PHP的烦恼之一是它引发的错误消息过于简洁。并不是说完全没用;最让人头疼的是,必须在给定的错误位置打开源文件来检查问题。此外,也不容易获得完整的系统上下文,例如(PHP系统变量,cookie,会话等)。
Whoops是一个不错的错误提示库,它通过帮助您以用户友好的方式处理错误和异常来帮助您更好地开发和维护PHP项目。Whoops已经是Laravel 4的一部分,放心用起来。
看看下面这个错误代码:
$planets = array(); echo $planets[0];
执行将输出:
Notice: Undefined offset: 0 in D:\localhost\projects\test\test.php on line 27
使用了Whoops实际的错误页面包含的信息比此处提供的信息还要多-比如会话变量,Cookie,HTTP标头等。
通过composer安装Whoops
{
"require": {
"filp/whoops": "*"
}
}在项目中使用
$run = new \Whoops\Run; $handler = new \Whoops\Handler\PrettyPageHandler; $JsonHandler = new \Whoops\Handler\JsonResponseHandler; $run--->pushHandler($JsonHandler); $run->pushHandler($handler); $run->register(); /* Sample code that throws an error */ $planets = array(); echo $planets[0];
执行即可看到效果
另外我们还可以自定义信息
$run = new \Whoops\Run;
$handler = new \Whoops\Handler\PrettyPageHandler;
$JsonHandler = new \Whoops\Handler\JsonResponseHandler;
/* 设置页面标题 */
$handler->setPageTitle("Oops, Error encountered!");
/* 其他信息设置 */
$handler->addDataTable("Extra Slice of Info", array(
"page-id" => 173,
"page-name" => "foo-bar",
"app-name" => "fb"
));
$run->pushHandler($handler);
$run->register();更多的玩法参考文档官方文档
前面的文章对于高并发下单商品导致商品库存为负值的问题请先阅读再阅读本篇文章一定对您有帮助,建议亲手测试较好。加上文件锁后的下单处理代码:【一】.阻塞模式:(如果其他进程已经加锁文件,当前进程会一直等其他进程解锁文件后继续执行)<?php //连接数据库 $con=mysqli_connect(...
开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...
<?php //php7+ define('CONFIG', [ 'MYSQL' => '127.0.0.1',  ...
<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...
在调用微信code换openid的接口curl报错curl Received HTTP code 403 from proxy after CONNECT,错误码56。可以看到是curl的代理有问题。然后我自己电脑设置代理去访问curl请求的地址,的确也返回了403,说明代理不允许访问这个地址,联系...
适用于虚拟主机无法设置public目录为网站目录的虚拟主机(1).根目录创建index.php<?php //设置网站目录 $root_path = __DIR__ . DIRECTORY_SEPARATOR . 'publ...