最近在用backbone.js 做东西,因为牵扯到REST services 所以需要后台支持,此处选择了php。Slim 是php的一个框架。

貌似国内文章对此的介绍比较少,在安装Slim的过程中出现了些问题,历经三四个小时,终才解决。对此来个简单的总结,希望可以节省后来学习者的时间。
Slim 简介
特性列表
  • HTTP routing
  • Named routes
  • Route passing
  • Route redirects
  • Route halting
  • Middleware & Hooks
  • Custom views
  • HTTP caching
  • Signed cookies
  • Custom 404 page
  • Custom 500 page
  • Error handling
  • Logging
系统要求
  
  • Web server (URL rewrite module recommended)
  • PHP >= 5.3
  • libmcrypt > 2.4.x (if using encrypted cookies)
    
你当然可以去官方网站了,http://www.slimframework.com/
具体的使用文档你可以去 http://docs.slimframework.com/
 
1、首先我们先图文并茂演示如何安装 Slim
去官网下载 Slim 文件夹 
2、其次,要明白这个是PHP Framework,需要配置php运行环境,此处选择的 WampServer Version 2.2 它的PHP版本>5.3 可运行 Slim。
下载WampServer,按照提示一步一步默认安装就可以。安装之后运行

关于如何安装配置WampServer,百度有篇详细的文章  http://wenku.baidu.com/view/d6107823192e45361066f53c.html
3、再次要支持web serive,URL可以重写,启用Apache 的mod_rewrite模块
 
在conf目录的httpd.conf文件中找到
LoadModule rewrite_module modules/mod_rewrite.so
将这一行前面的#去掉。
2.在要支持url rewirte的目录启用 Options FollowSymLinks 和 AllowOverride All
可以在httpd.conf 文件中搜索 定位到此处
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
参照这个写出来  D:/wamp/www/SlimTwigExample  因为我设定的localhost 是 D:/wamp/www/,
在www下新建文件夹 SlimTwigExample,把下载的Slim文件解压到这个文件夹。
 
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
4、让我们开始写代码吧,修改index.php
页尾部 $app->run();注释掉这一句,增加如下语句,添加一个rest服务
$app2=new \Slim\Slim();
 
$app2->get('/hello/:name', function ($name) {
    echo 'hello'.' '.$name;
});
$app2->run();
 
编辑结束后,重启Apache,可在 Apache ->Service->Restart 。
然后在浏览器中输入http://localhost/SlimTwigExample/hello/Fany,就会在页面中显示 hello Fany
 

因为我米有用到Cookie,所以没有顾及后面的第三个条件。
 
至此,Slim 就可以用了。
 
在使用Wampserver中有遇到php版本的问题,此处可以采用如下的方法大致来。

WampServer是一个集成了PHP/Mysql/Apache及其它应用(如PhpMyAdmin/Xdebug[也许没有])的软件,它最令人喜爱的特征,不是令Php/Mysql/Apache的安装配置简单化,而是让我们只需要点点鼠标,就可以随意切换已经安装的PHP/Mysql/Apache的不同版本。对于PHP不同版本的需求,PHP程序员都最清楚不过了。

WampServer的Version菜单(Apache、PHP、Mysql各自有一个Version菜单)上,有一个 Get More... 连接,点击它就可以到官网上下载你需要的版本,安装是自动化的,非常简单。没有我们需要的版本,怎么办?自己动手,丰衣足食!

手工安装新版本的PHP,只需以下步骤:

  1. 下载要安装的PHP版本。既然是用WampServer,那当然是下载Window版本的ZIP包啦:http://windows.php.net。解压到 Wamp的安装目录\bin\php\php5.2.17。这里以5.2.17为例。
  2. 进入 Wamp的安装目录\bin\php\php5.2.17 目录,从 php.ini-dist 或者 php.ini-recommended 复制一份,重命名为php.ini,适应修改php.ini配置(如extension_dir),再从php.ini复制一分,重命名为phpForApache.ini
  3. 从已有的版本目录中复制一份 wampserver.conf。比如我安装WampServer的时候已经有php5.3.0,在 Wamp的安装目录\bin\php\php5.3.0 目录下复制 wampserver.conf 到 Wamp的安装目录\bin\php\php5.2.17
  4. 修改Wamp配置文件:进入 Wamp的安装目录,用IDE或记事本(最好使用行号定位的记事本,如EditPlus等)打开 wampmanager.ini,定位到 335 行,通常在这一行就是[phpVersion],如果不是,则在附近找找。复制下面一行:
    Type: item; Caption: "5.3.0"; Action: multi; Actions:switchPhp5.3.0
    插入到这一行前面,并修改为

    Type: item; Caption: "5.2.17"; Action: multi; Actions:switchPhp5.2.17

    再复制

    [switchPhp5.3.0]
    Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated
    Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.3.0";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
    Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
    Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
    Action: resetservices
    Action: readconfig;

    插入这一段之前,并修改为

    [switchPhp5.2.17]
    Action: service; Service: wampapache; ServiceAction: stop; Flags: ignoreerrors waituntilterminated

    Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "switchPhpVersion.php 5.2.17";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated
    Action: run; FileName: "Wamp的安装目录/bin/php/php5.3.0/php-win.exe";Parameters: "-c . refresh.php";WorkingDir: "Wamp的安装目录/scripts"; Flags: waituntilterminated

    Action: run; FileName: "net"; Parameters: "start wampapache"; ShowCmd: hidden; Flags: waituntilterminated
    Action: resetservices
    Action: readconfig;

  5. 退出WampServer,再重启。完成。

通过这5步,即可完成PHP任意版本的安装。

Slim安装以及使用【转】的更多相关文章

  1. Slim安装以及使用

    最近在用backbone.js 做东西,因为牵扯到REST services 所以需要后台支持,此处选择了php.Slim 是php的一个框架. 貌似国内文章对此的介绍比较少,在安装Slim的过程中出 ...

  2. 安装archlinux的linux命令记录

    磁盘的分区:cfdisk 格式化分区:mkfs.ext4,mkswap,swapon 查看所有分区:lsblk /dev/sda 先挂载 / 分区:mount /dev/sda1 /mnt archl ...

  3. 树莓派学习笔记——Restful服务 采用slim php apache

    0.前言     前些时间沉迷于Restful,采用PHP+Slim+MySQL实现了一些简单的API函数.但是这些工作都是在windows中实现(采用wamp server集成安装包),但是转到li ...

  4. 安装使用RESTful 框架SLIM方法

    相关框架: http://www.golaravel.com 是一个PHP框架,内置名为LUMEN的RESTful API框架,有中文文档, http://lumen.golaravel.com/do ...

  5. 安装composer slim(php web api micro services)

    1. 安装php7 2. 下载 https://getcomposer.org/composer.phar 3. 开启ssh, 在 php.ini中.extension=C:\Program File ...

  6. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  7. Archlinux 2015.07.01 和 Windows7 双系统 安装教程

    提前在windows7下给Archlinux预留一个分区,大小最好在20G以上(根据自己硬盘情况分配). 第一步,安装前的准备 从arch官网下载最新的ISO文件archlinux-2015.07.0 ...

  8. slim

    Slim 是一个非常优雅的 PHP 微框架,非常适合做API,支持多种http请求方式,比如get,post,delete,put等 安装使用Composer composer require sli ...

  9. T60上安装Gentoo笔记

    T60虽然已经很老了,也过了服役期限.但是从入手之后,相比与家里放着的几个其他的高配置"后辈",依然是手中的挚爱.4:3的屏幕,方方正正的内敛模型,很结实的钢筋铁骨,无论是性格还是 ...

随机推荐

  1. Docker生态不会重蹈Hadoop的覆辙

    本文原作者是晏东(精灵云Ghostcould创始人),在读到<Docker生态会重蹈Hadoop的覆辙吗?>文章后的个人思考,里面的不少观点也是很不错的. 1.形态上的差异 2013年的时 ...

  2. python-生成测试报告-然后自动发送邮件

    前两篇单独介绍了生成测试报告和自动发送邮件,那么现在把两者整合到一起:生成测试报告后然后自动发送邮件,这里只是简单的整合实现功能,其实还可以优化的,先用吧,后面再慢慢优化 先看下目录,其实目录还是一样 ...

  3. jeecg中选择的数据字典

    <t:dictSelect field="fjingji" hasLabel="false" typeGroupCode="fjingji&qu ...

  4. ios生成自签名证书,实现web下载安装app

    抄自http://beyondvincent.com/blog/2014/03/17/five-tips-for-using-self-signed-ssl-certificates-with-ios ...

  5. 保证service不被杀死的方法

    Service设置成START_STICKY kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样 提升service优先级 在AndroidManifest.xml文件中对于in ...

  6. 【转】JMeter使用指南

    Abstract 本文重点介绍JMeter工具在测试中地位以及其中一些难以理解或者手册中含糊不清的感念,读者可以通过本文了解这些概念,然后再根据自己的需要查阅JMeter中各个组件的具体用法来完成测试 ...

  7. appium+python自动化41-切换webview时候报chromedriver版本问题

    前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must b ...

  8. AngularJS.js: temple

    ylbtech-AngularJS.js: temple 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部 ...

  9. nginx上传文件大小

    采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误.这个是什么原因导致的呢? 查wiki可知,上传文件大小相关的有三个配置 client_body_buffer_ ...

  10. C++四种强制转换

    C++的四种强制类型转换,所以C++不是类型安全的.分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast 为什么使用C风格的强制 ...