最近在用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. spring boot 整合mapreduce运行的ClassNotFoundException

    问题 一个wordcount运行总是报错 java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.hadoop. ...

  2. Codeforces Global Round 6 - D. Decreasing Debts(思维)

    题意:有$n$个人,$m$个债务关系,$u_{i}$,$v_{i}$,$d_{i}$表示第$u_{i}个人$欠第$v_{i}$个人$d_{i}$块钱,现在你需要简化债务关系,使得债务总额最小.比如,$ ...

  3. 关于MQTT连接的属性

    连接相关的属性. 这些属性是MQTT的连接报文中连接标志字, 包含一些用于指定 MQTT 连接行为的参数. 1.清理会话(Clean Session) 客户端和服务端可以保存会话状态,以支持跨网络连接 ...

  4. 01背包第k最优解

    附题目链接:Bone Collector II Input The first line contain a integer T , the number of cases.Followed by T ...

  5. 理解API和SDK的区别

    API--功能的集成(封装等级低) SDK--任务的集成(封装等级高) 比如,App中完成微信支付.整个过程下来需要三次与微信服务器的访问,一次block回调.这四个步骤可以当作是4个api,如果把这 ...

  6. Tachyon---基于内存的分布式存储系统

    Tachyon是一个以内存为核心的开源分布式存储系统,也是目前发展最迅速的开源大数据项目之一.Tachyon为不同的大数据计算框架(如Apache Spark,Hadoop MapReduce, Ap ...

  7. Mybatis plus 插入数据时将自动递增的主键手动进行赋值设置

    1.首先设置好实体类:将类型设置为 @TableId(type = IdType.INPUT) 2.在插入数据前将id赋值给实体类对象即可

  8. [转]轻松理解AOP思想(面向切面编程)

    原文链接 Spring是什么 先说一个Spring是什么吧,大家都是它是一个框架,但框架这个词对新手有点抽象,以致于越解释越模糊,不过它确实是个框架的,但那是从功能的角度来定义的,从本质意义上来讲,S ...

  9. navicat连接数据库报错:未发现数据源名称并且未指定默认驱动程序

    解决方法:安装navicat自带sqlncli_x64.msi,在navicat安装目录下

  10. 吴裕雄--天生自然PythonDjangoWeb企业开发:解决ModuleNotFoundError: No module named 'config'报错

    使用创建完模块应用之后python manage.py startapp test_app,您应该进入settings.py并将其注册到