配置:

Nginx:

conf目录下nginx.conf配置文件。

第44行改为:root   D:/wwwroot/www;

第45行改为:index  index.html index.htm index.php;  加了PHP文件支持。

第65至71行改为:

(改为)location ~ \.php$ {

root        D:/wwwroot/www;
           fastcgi_pass 127.0.0.1:9000;
           fastcgi_index index.php;                   
           fastcgi_param SCRIPT_FILENAME   D:/wwwroot/www$fastcgi_script_name;                   
           include fastcgi_params;
    }

(原来)location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;

d:/wwwroot为网站的根目录。此目录也可以重新配置。找到代码:

location / {
            root   html;
            index  index.html index.htm index.php;
}

PHP:

查找定位至:;extension=php_gd2.dll,将前面的分号去掉为:extension=php_gd2.dll

查找定位至:;extension=php_mbstring.dll,将前面的分号去掉为:extension=php_mbstring.dll

查找定位至:;extension=php_mysql.dll,将前面的分号去掉为:extension=php_mysql.dll

查找定位至:;extension=php_mysqli.dll,将前面的分号去掉为:extension=php_mysqli.dll

查找定位至:;extension=php_pdo_mysql.dll,将前面的分号去掉为:extension=php_pdo_mysql.dll

查找定位至:;cgi.force_redirect = 1,将前面的分号去掉为:cgi.force_redirect = 1

查找定位至:;cgi.fix_pathinfo=1,将前面的分号去掉为:cgi.fix_pathinfo=1

查找定位至:;cgi.rfc2616_headers = 0,将前面的分号去掉并改为:cgi.rfc2616_headers = 1

flight源码包:https://github.com/mikecao/flight

Demo:index.php

<?php
require_once('flight/Flight.php');
require_once('response.php'); header("Content-Type:application/json"); function db()
{
$conn = mysql_connect("127.0.0.1","root","");
mysql_query("SET NAMES UTF8");
return $conn;
} function get_user_list()
{
$users =array();
$sql = "select * from wordpress.wp_users";
$result = mysql_query($sql,db());
while ($row = mysql_fetch_array($result)) {
$users[] = array('user_id'=>$row['ID'],
'user_login'=>$row['user_login'],
'user_nicename'=>$row['user_nicename'],
'user_email'=>$row['user_email'],
'user_registered'=>$row['user_registered'],
'user_name'=>$row['display_name']);
} return $users;
} function get_user_derail($id)
{
$user =array();
$sql = "select * from wordpress.wp_users where id=".$id;
$result = mysql_query($sql,db());
while ($row = mysql_fetch_array($result)) {
$user = array('user_id'=>$row['ID'],
'user_login'=>$row['user_login'],
'user_nicename'=>$row['user_nicename'],
'user_email'=>$row['user_email'],
'user_registered'=>$row['user_registered'],
'user_name'=>$row['display_name']);
} return $user;
} Flight::route('/users', function(){
$users = get_user_list();
Response::show('200','返回成功',$users);
}); Flight::route('/users/@id', function($id){ $user = get_user_derail($id); if(!empty($user))
{
//Flight::json($user);
Response::show('200','返回成功',$user);
}
else
{
Response::show('404','资源不存在',$user);
}
}); Flight::start();
?>

GET: http://localhost:8090/users

{
code: "200",
message: "返回成功",
data: [
  {
    user_id: "1",
    user_login: "11",
    user_nicename: "11",
    user_email: "11.cd@11.corp",
    user_registered: "2014-05-07 02:33:19",
    user_name: "111"
  },
  {
    user_id: "2",
    user_login: "leoliu",
    user_nicename: "leoliu",
    user_email: "leo.j.liu@11.com",
    user_registered: "2014-05-07 02:54:07",
    user_name: "刘, 建波"
  },
  {
    user_id: "3",
    user_login: "1",
    user_nicename: "1",
    user_email: "11.j.11@11.com",
    user_registered: "2014-05-07 02:59:24",
    user_name: "吴, 11"
  }
]
}

GET:http://localhost:8090/users/{userId}

{
code: "200",
message: "返回成功",
data: [
{
  user_id: "3",
  user_login: "1",
  user_nicename: "1",
  user_email: "11.j.11@11.com",
  user_registered: "2014-05-07 02:59:24",
  user_name: "吴, 11"
}
]
}

nginx+php+flight 构建RESTFul API的更多相关文章

  1. Spring MVC中使用 Swagger2 构建Restful API

    1.Spring MVC配置文件中的配置 [java] view plain copy <!-- 设置使用注解的类所在的jar包,只加载controller类 --> <contex ...

  2. 使用Express构建RESTful API

    RESTful服务 REST(Representational State Transfer)的意思是表征状态转移,它是一种基于HTTP协议的网络应用接口风格,充分利用HTTP的方法实现统一风格接口的 ...

  3. SpringBoot 构建RestFul API 含单元测试

    相关博文: 从消费者角度评估RestFul的意义 SpringBoot 构建RestFul API 含单元测试 首先,回顾并详细说明一下在快速入门中使用的  @Controller .  @RestC ...

  4. Springboot 如何加密,以及利用Swagger2构建Restful API

    先看一下使用Swagger2构建Restful API效果图 超级简单的,只需要在pom 中引用如下jar包 <dependency> <groupId>io.springfo ...

  5. springboot集成swagger2构建RESTful API文档

    在开发过程中,有时候我们需要不停的测试接口,自测,或者交由测试测试接口,我们需要构建一个文档,都是单独写,太麻烦了,现在使用springboot集成swagger2来构建RESTful API文档,可 ...

  6. 集成swagger2构建Restful API

    集成swagger2构建Restful API 在pom.xml中进行版本管理 <swagger.version>2.8.0</swagger.version> 给taosir ...

  7. 使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作

    以前写过ASP.NET Core 2.x的REST API文章,今年再更新一下到3.0版本. 先决条件 我在B站有一个非常入门的ASP.NET Core 3.0的视频教程,如果您对ASP.NET Co ...

  8. 使用ASP.NET Core 3.x 构建 RESTful API - 2. 什么是RESTful API

    1. 使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作 什么是REST REST一词最早是在2000年,由Roy Fielding在他的博士论文<Archit ...

  9. 使用 Spring Boot 构建 RESTful API

    1. 使用 Idea 创建 Spring Initializer 项目 在创建项目的对话框中添加 Web 和 Lombok,或者建立项目后在 pom.xml 中添加依赖: <dependency ...

随机推荐

  1. php qr生成二维码

    二维码就是用在平面上用特定的几何图形记录数据信息的,QR码是常见的一种二维码.推荐使用生成QR码的php类库PHP QR Code. 例子: <?php   ini_set('display_e ...

  2. php教程一,变量

    php是一种动态脚本语言,比较适合web开发. php支持8种变量数据类型: 四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也称作 double) string ...

  3. Pull解析xml

    没有写抛出的异常,例子是含有多个Person对象persons.xml(此片内容未写写入的代码),包含id,name,email,address标签,Person对象含有id,name,email,a ...

  4. How to executing direct SQL statements [Axapta, AX4.0, AX2009, AX2012]

    Today I want to talk about executing SQL statements in X++ on both the current AX database and exter ...

  5. 十天学会单片机Day0点亮LED (锁存器、三极管、继电器)

    C51常用的数据类型 数据类型 关键字 所占位数 表示数范围 无符号字符型 unsigned char 8 0~255 有符号字符型 char 8 -128~127 无符号整型 unsigned in ...

  6. PuTTY 中文教程

    PuTTY 中文教程 更新记录 2006-11-29初步完成想写的这些东西 2007-06-11PuTTY 的最新版本到了0.6:修改了一下 SSH 隧道:添加了 SSH 反向隧道:添加了用 SSH ...

  7. 《高性能javascript》读书笔记

    1.每个<script>加载时都会阻塞其他文件(图片.音乐等)的同时加载,同时浏览器会在js代码执行时停止渲染Dom.所以为了减少界面加载的卡顿和空白发生,应尽力将js代码或者文件放在&l ...

  8. golang的"..."备忘

    1. 用于数组: 表示长度与元素个数相同. 在golang中数组的长度是类型的一部分,不同长度,不同类型. 2. 用于参数: 用于形参表示可变参数. 用于实参表示直接传递. 具体解释参数见官方文档: ...

  9. pcre 使用

    1.主页地址:http://www.pcre.org/     下载pcre-7.8.tar.bz22.解压缩:     tar xjpf pcre-7.8.tar.bz23.配置:     cd p ...

  10. 获得N位数字字母随机组合

    import string import random def get_rand(n): allw = string.letters+string.digits r = [] for i in ran ...