Phalcon 是一款非常火的高性能C扩展php开发框架。特点是高性能低耦合,但遗憾的是长期缺少一款得力的调试辅助工具。

目前版本主要以Laravel debugbar的具有功能为蓝本开发,并针对phalcon的功能特征进行了小幅更改,未来版本还将针对phalcon的功能进行进一步扩展丰富。项目地址:http://git.oschina.net/zhuyajie/phalcon-debugbar

readme.md中只是粗略的介绍了phalcon-debugbar的安装方式,新学者可能很难理解其中的安装步骤,Marser下面将给大家介绍下详尽的安装步骤。

1、安装composer

composer是PHP用来管理依赖(dependency)关系的工具。可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮助安装这些依赖的库文件。安装命令如下:

#软件安装路径
cd /usr/local/src #linux curl 下载composer
curl -sS https://getcomposer.org/installer | php #移动目录,进行全局安装
mv composer.phar /usr/local/bin/composer
 
2、composer安装phalcon-debugbar

composer安装成功后,就可以通过composer安装phalcon-debugbar了。这里不推荐通过源码安装的方式,需要解决一些命名空间的依赖问题,否则无法正常使用。使用如下命令通过composer方式安装phalcon-debugbar.

#切到项目的根目录

cd /project-path/
composer require --dev snowair/phalcon-debugbar
 
如图,成功如下
 

再执行如下命令,创建“Runtime/debugbar”目录。

cd vendor
mkdir -p Runtime/debugbar
chmod -R Runtime

此举是为了支持ajax调试和重定向调试功能,debugbar是默认开启了调试数据持久化功能,它会将收集到的调试信息以json文件保存在“Runtime/debugbar”目录下。如果该目录不存在,会试图创建,这需要你的项目目录是可写,否则将会抛出warning错误,建议手动创建,并设置为可写权限(此目录路径可通过debugbar.php配置)。

基本环境准备完毕后,将“/project-path/vendor/snowair/phalcon-debugbar/src/config/debugbar.php”文件复制到当前项目中的配置文件存放目录。debugbar.php是phalcon-debugbar的配置文件,复制到项目的配置文件存放目录的主要目的,一方面是可以为每个项目中的应用模块进行差异化的配置;另一方面也是方便phalcon-debugbar的更新,不会覆盖项目中使用的phalcon-debugbar配置项。

3、修改入口文件,注册服务

修改index.php文件,在文件的最开始处,添加如下代码:

require_once '../vendor/autoload.php'; //根据文件的路径,适当的调整引入的相对路径

然后添加如下代码:

#若此行代码已存在,可不必再添加
$application = new Phalcon\Mvc\Application($di); // 将$di作为构造参数传入 Micro应用也一样: new Phalcon\Mvc\Micro($di); $di['app'] = $application; //将应用实例保存到$di的app服务中
#根据debugbar.php存放的路径,适当的调整引入的相对路径
$provider = new Snowair\Debugbar\ServiceProvider('../config/debugbar.php');
$provider -> register();//注册
$provider -> boot(); //启动 #若此行代码已存在,可不必再添加
echo $application->handle()->getContent();// 在启动debugbar之后,立即handle应用

打开项目 显示成功啦!

Phalcon调试大杀器之phalcon-debugbar安装的更多相关文章

  1. MySQL高可用性大杀器之MHA

    MySQL高可用性大杀器之MHA   提到MySQL高可用性,很多人会想到MySQL Cluster,亦或者Heartbeat+DRBD,不过这些方案的复杂性常常让人望而却步,与之相对,利用MySQL ...

  2. MySQL高可用性大杀器之MHA | 火丁笔记

    MySQL高可用性大杀器之MHA | 火丁笔记 MySQL高可用性大杀器之MHA

  3. Git ~ 大杀器之一 远程仓库 ~ Git

    一般情况ixashi找一台电脑作为服务器的角色 , 每天24小时开机 , 其他扥每个人都从这个 “服务器” 仓库里面克隆一份到自己的电脑上面 并且将各自的提交推送到服务器仓库中 , 也可以从服务器仓库 ...

  4. 使用docker-compose 大杀器来部署服务 上

    使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...

  5. 使用docker-compose 大杀器来部署服务 上(转)

    使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...

  6. [NewLife.XCode]反向工程(自动建表建库大杀器)

    NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示 ...

  7. [转]使用docker-compose 大杀器来部署服务 上

    本文转自:https://www.cnblogs.com/neptunemoon/p/6512121.html 使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker ...

  8. 使用docker-compose 大杀器来部署服务

    使用docker-compose 大杀器来部署服务 上 我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始. 好吧,可能在小白的眼中噼里啪啦的对着 ...

  9. Postgresql-模糊匹配大杀器

    # Postgresql-模糊匹配大杀器 ## 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser) ...

随机推荐

  1. js获取不带单位的像素值

    所谓获取不带单位的像素值就是获取比如元素的宽度.高度.字体大小.外边距.内边距等值但是去掉像素单位. 比如:某一个元素的宽度是100px,现在我要获取这个这个值但是不带单位“px”,对于这种问题你会怎 ...

  2. Vue.js 1.x 和 2.x 实例的生命周期

    在Vue.js中,在实例化Vue之前,它们都是以HTML的文本形式存在文本编辑器中.当实例化后将经历创建.编译.销毁三个主要阶段. 以下是Vue.js 1.x  实例的生命周期图示: Vue.js 1 ...

  3. 什么是A记录  域名

    A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录.用户可以将该域名下的网站服务器指向到自己的web server,FTP server等上面.同时也可以设置域名的子域名. 通俗 ...

  4. phpmyadmin设置密码,不用登录直接进入

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.config.sample.inc.PHP改为config.inc.php 2.加入或更改代码: [php] view plain copy ...

  5. 邓_phpcms_phpcms授课思路复习

    思路: 一.目前在企业中使用比较多的cms内容管理有如下几种: 1.dedecms 2.phpcms 二.我们选择学习v9版本的phpcms,主要有以下几点原因: 1.基于MVC模式的内容管理系统 2 ...

  6. Aps.net中基于bootstrapt图片上传插件的应用

    Aps.net中基于bootstrapt图片上传插件的应用 在最近的项目中需要使用一个图片上传的功能,而且是多张图片同时上传到服务器的文件夹中,将图片路径存放在数据库中.为了外观好看使用了bootst ...

  7. 一次线上tomcat应用请求阻塞的排查经过

    今天早上,收到一个报警,有个服务器的http往返时延飙升,同时曝出大量404,很是折腾了一番,特记录下思考和排查经过. 1.这是单纯的时延增大,还是有什么其他情况还未掌握? 因为不知道是只有时延变大而 ...

  8. Linux Shell 编程语法

    原文地址:http://www.cnblogs.com/fhefh/archive/2011/04/13/2014967.html.感谢作者的无私分享 编写代码 在计划好要程序干什么以及如何使用程序的 ...

  9. 【原创】python实现视频内的face swap(换脸)

    1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...

  10. Mysql Innodb 锁机制

    latch与lock latch 可以认为是应用程序中的锁,可以称为闩锁(轻量级的锁) 因为其要求锁定的时间必须要非常短,若持续时间长,则会导致应用性能非常差,在InnoDB存储引擎中,latch又可 ...