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. 邓_PHP面试【001】

    1.双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字.字母.下划线的特殊字符,或者用{}讲变量括起 ...

  2. s​q​l​i​t​e​3​-​入​门​教​程

    *** 非常好 http://wenku.baidu.com/link?url=xDoS4prJaGRac0QS0nxdNr6056N-qJIfZ7OhiTharj1ntuIsNy9sWXWvBXLh ...

  3. 优化表单数据的JS校验

    在平常的web开发中,我经常需要在客户端对表单的数据进行验证.比如,我们验证表单输入的内容不为空: ? <form action="" method="post&q ...

  4. linux下用iptables做本机端口转发方法(转载)

    一 :从一台机到另一台机端口转发 启用网卡转发功能 #echo 1 > /proc/sys/net/ipv4/ip_forward 举例:从192.168.0.132:21521(新端口)访问1 ...

  5. httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName

    问题原因: httpd服务配置文件,并没有设置解析根地址,无法可靠地确定服务器的完全合格的域名 如何解决? httpd的配置文件放在 /etc/httpd/conf/目录下,去掉ServerName注 ...

  6. python_如何判断字符串a以某个字符串开头或结尾?

    案例: 某文件系统目录下有一系列文件: 1.c 2.py 3.java 4.sh 5.cpp ...... 编写一个程序,给其中所有的.sh文件和.py文件加上可执行权限 如何解决这个问题? 1. 先 ...

  7. JS题目

    1.请你谈谈Cookie的弊端 cookie虽然在持久保存客户端数据提供了方便,分担了服务器存储的负担,但还是有很多局限性的. 第一:每个特定的域名下最多生成20个cookie 1.IE6或更低版本最 ...

  8. hibernate解读之session--基于最新稳定版5.2.12

    前言 hibernate是一个实现了JPA标准的,用于对象持久化的orm框架.博主近一年开发都在使用. 前段时间在工作中遇到了一个hibernate的问题,从数据库查找得到对象后,修改了其中部分字段值 ...

  9. junit参数化测试

    在前面的junit4初体验中我就说过,junit参数化测试是一只小怪兽,只逼编码痛点,现在我们这里来整理一下. 看过我前面的那篇初体验的就会发现一个问题,我们的测试代码大量的重复了.在这里先贴出原来的 ...

  10. Linux指令--nl

    原文出处:http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件 ...