A Phalcon在Windows上的安装

1 从Phalcon for Windows下载适合的DLL,

这里的适合 主要看两个方面

1 PHP的版本

2 线程是否是安全

3 编译版本

如果不清楚这些信息的话,可以编写一个phpinfo.php脚本

<?php

phpinfo();

?>

然后通过浏览器直接访问该文件,就能知道以上的所有信息

例如本人机器的环境信息如下

2 将下载下来的DLL文件,复制到PHP的扩展目录去,本人的目录是在C:\Zend\ZendServer\lib\phpext

3 在php.ini文件中 增加extension=php_phalcon.dll

4 重启apache

5 验证是否安装正确

B devtools的安装(通过composer安装)

1  在本机的某个目录下比如说d:\github\phalcon

增加一个composer.json文件

内容如下

{
  "require": {
    "phalcon/devtools": "dev-master"
  }
}

2 运行cmd,进入到该目录 比如说 cd d:\github\phalcon,运行composer install,会生成vendor目录,在vendor/phalcon/devtools目录是很重要的目录,他的结构如下

3 设置环境变量,设置步骤如图所示,设置的Path为;D:\github\phalcon\vendor\phalcon\devtools

4 验证是否安装成功

出现该图所示的话,说明OK

C devtools的使用

1 在D:\github\phalcon\目录下,建立一个可以使用webtools的项目learn

phalcon.bat project learn --enable-webtools

建立完成之后的工程目录为

app目录

public目录

从上面可以基本判断是一个MVC的框架

2 在apache上设置虚拟目录

http.conf 配置如下

<Directory "D:/github">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80>
DocumentRoot D:/github/phalcon/learn/public
ServerName learn
</VirtualHost>

3 hosts文件中增加以下内容

127.0.0.1       learn

4 重启apache服务之后,在浏览器上浏览http://learn/index/index的时候

说明OK

5 在浏览器上浏览http://learn/webtools.php的时候

这个页面显示上好像有些问题.和官方文档上显示出来的页面样子是不同的.

然后随便点击页面上的连接,比如点击了controllers连接,出现了以下的错误

看来肯定在某个地方有问题了. 后来发现在浏览器上的浏览路径发生了改变.变成了

http://learn/learn/webtools.php?_url=/controllers,

怎么多出来了一个learn呢?应该只有一个才对,所以

将地址改成http://learn/webtools.php?_url=/controllers之后访问页面

可以运行,没有报错,而且还多出来了controller的信息

但是页面的样式还是不对.造成页面样式不对的可能的原因一般是css和js的造成的

所以打开浏览器的开发者工具,查看css,js等资源请求的情况,发现了以下的问题

看来是多出来的learn 惹得祸. 造成了资源没有请求到.

6 解决方法.

阅读了webtools.php的源代码,发现它其实最终调用了

D:\github\phalcon\vendor\phalcon\devtools\scripts\Phalcon\Web\tools.php里面的main方法

该方法中有以下的一段代码,设置了url

$di->set('url', function () use ($config) {
  $url = new \Phalcon\Mvc\Url();
  $url->setBaseUri($config->application->baseUri);

  return $url;
});

所以$config->application->baseUri这个值是个关键

而$config参数是哪里来的呢,查找$config,找到以下的代码

// Read configuration
$configPaths = array(
  'config',
  'app/config',
  'apps/frontend/config'
);

$readed = false;

foreach ($configPaths as $configPath) {
  $cpath = $configPath . '/config.ini';

  if (file_exists($cpath)) {
    $config = new \Phalcon\Config\Adapter\Ini($cpath);
    $readed = true;

    break;
  } else {
    $cpath = $configPath . '/config.php';

    if (file_exists($cpath)) {
      $config = require $cpath;
      $readed = true;

      break;
    }
  }
}

发现原来是从工程目录下的config,app/config,apps/fontend/config目录里面的config.ini或config.php而来的

这样打开工程learn的app/config/config.php文件.发现了

'baseUri'        => '/learn/', 将它改成'baseUri'        => '/',

重新刷新页面

这样问题就解决了

D 开发环境IDE设置

1 Zend Studio

这样配置完成了之后,就可以代码提示了

2 PhpStorm

代码提示就OK了

设置devtools

这样就可以直接phpstorm中直接使用

这样开发环境就都配置完成了.

												

Phalcon的学习篇-phalcon和devtools的安装和设置的更多相关文章

  1. 深度学习篇——Tensorflow配置(傻瓜安装模式)

    前言 如果你是一个完美主义者,那么请绕过此文,请参考<深度学习篇——Tensorflow配置(完美主义模式)> 安装 pip install tensorflow ok,只要不报错,安装就 ...

  2. [持续集成学习篇]【1】[jenkins安装与配置]

    Guided Tour This guided tour will use the "standalone" Jenkins distribution which requires ...

  3. Phalcon 开发工具(Phalcon Developer Tools)

    Phalcon提供的这个开发工具主要是用来辅助开发,比方生成一些程序的基本框架.生成控制器模型等. 使用这个工具我们仅仅须要一个简单的命令就可以生成应用的基本框架. 很重要: 要使用这个工具我们必需要 ...

  4. js学习篇1--数组

    javascript的数组可以包含各种类型的数据. 1. 数组的长度 ,直接用 length 属性; var arr=[1,2,3]; arr.length; js中,直接给数组的length赋值是会 ...

  5. Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  6. (转载)OC学习篇之---概述

    前言 终于开启了OC的学习篇了,之前由于工作上的事,学习就一直搁浅了,不过最近由于各种原因,感觉必须要开启iOS的开发旅程了,不然就老了.因为之前一直是做Android的,所以学习iOS来就没那么费劲 ...

  7. 《Mysql 公司职员学习篇》 第二章 小A的惊喜

          第二章 小A的惊喜  ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...

  8. Java多线程(学习篇)

    Java多线程:(学习篇) 1.什么是线程 2.线程状态 3.线程中断 4.线程交互 5.同步机制 6.锁机制 7.堵塞队列与堵塞栈 8.条件变量.原子量.线程池等 9.线性安全类和Callable与 ...

  9. 鸟哥Linux私房菜基础学习篇学习笔记3

    鸟哥Linux私房菜基础学习篇学习笔记3 第十二章 正则表达式与文件格式化处理: 正则表达式(Regular Expression) 是通过一些特殊字符的排列,用以查找.删除.替换一行或多行文字字符: ...

随机推荐

  1. java web实现 忘记密码(找回密码)功能及代码

    java web实现 忘记密码(找回密码)功能及代码 (一).总体思路 (二).部分截图 (三).部分代码 (一).总体思路: 1.在 找回密码页面 录入 姓名.邮箱和验证码,录入后点击[提交]按钮, ...

  2. bootstrap+jQuery.validate表单校验

    谈谈表单校验 这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录.现在社会坚持以人为本的理念,在网站开发过程同样如此.User是我们面对较多的对象,也是较核心的对象.最开始的用户注册和登 ...

  3. 二进制文件和ASCII文件有何差别

    二进制文件和ASCII文件(即文本文件)的差别,对于和计算机亲近时间尚短的同学是个难题.本文用简单的样例,试图展示当中的道道,希望能对菜鸟们有些帮助. 1.一个样例:两种100000 有程序: #in ...

  4. Ubuntu 14.04 没有system settings的解决方法

    在我的Dell Latitude 3330上, 新装的Ubuntu 14.04一切正常,就是没有system settings程序, 以下的命令能够解决: sudo apt-get install u ...

  5. Thread和Runnable差别

    继承Thread类的,我们相当于拿出三件事即三个卖票10张的任务分别分给三个窗体,他们各做各的事各卖各的票各完毕各的任务.由于MyThread继承Thread类.所以在new MyThread的时候在 ...

  6. shell脚本实现冒泡排序 分类: 学习笔记 linux ubuntu 2015-07-10 14:16 79人阅读 评论(0) 收藏

    手动输入一行字符串,并对其排序. 脚本如下: #!/bin/bash #a test about sort echo "please input a number list" re ...

  7. SQL Server 2008 安装指南

    一.安装需求: 1.硬件需求条件 硬件 需求 处理器 最低:1.4 GHz(x64处理器)注意:Windows Server 2008 for Itanium-Based Systems 版本需要In ...

  8. 《3D数学基础:图形与游戏开发》勘误

    最近读这本书,读到四元素的乘法时,自己推导了一下公式,然后懵了,多方查阅,确定是书籍中的笔误(我读的是中文翻译版): 具体在Page147: 上图所示,在第二处明显与第一处的公式不一样. 在维基百科上 ...

  9. ASP.NET MVC 第五回 ActionResult的其它返回值

    我们上边所看到的Action都是return View();我们可以看作这个返回值用于解析一个aspx文件.而它的返回类型是ActionResult如 public ActionResult Inde ...

  10. OBJECT和EMBED标签(转载)

    一.介绍: 我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标 签.也就是OBJECT和EMBED标签.OBJECT标签是用于windows平台的IE浏览器的,而EMBED ...