ubuntu 12.04 使用 composer 安装 Luracast Restler
Restler is a simple and effective multi-format Web API Server written in PHP.
Just deal with your business logic in php, restler will take care of the REST!
一、安装
使用 composer 安装 Luracast Restler. 也可以直接在 github 上 clone 或者下载到 zip 包.
github上的项目地址: https://github.com/Luracast/Restler
官方地址:(经常打不开) http://luracast.com/products/restler/
假定已经安装好了 composer, 如果没有安装 请先安装 composer.
# cd /var/www/
# sudo mkdir apiTest
# cd apiTest/
# pwd
/var/www/apiTest/
# sudo composer install
|--
|--
|--
|--
|--
|--
二、
(1),在 public 目录下创建 index.php 和自己的接口 php 文件(这里以 SayHello.php为例),
其它的接口文件类似 SayHello.php方式创建即可。
创建 index.php
# touch index.php
写入以下内容:
<?php
require_once '../vendor/restler.php';
use Luracast\Restler\Restler;
use Luracast\Restler\Defaults;
$r = new Restler(true, true);
$r->addAPIClass('SayHello');
$r->addAPIClass('Resources');
$r->setSupportedFormats('JsonFormat', 'UploadFormat', 'JsFormat');
$r->handle();
创建 SayHello.php
# touch SayHello.php
写入以下内容:
<?php
/*
* Let's say hello!
*
* 基本的实例,开始 Restler 3 之旅
*/
class SayHello {
/**
* 带默认参数的问候
*
* 返回 hello + 输入的问候语
* <br />
* author:
* <br />
* 返回结果格式如下:
*
* @access public
* @param string $to 问候语
* @return
*
*/
public function hello($to='world') {
return "Hello $to!";
}
/**
* 没有默认参数的问候,必须输入参数
*
* 返回 hi + 输入的问候语
* <br />
* author:
* <br />
* 返回结果格式如下:
*
* @access public
* @param string $to 问候语
* @return
*
*/
public function hi($to) {
return "Hi $to!";
}
}
(2), 将 /var/www/apiTest/vendor/luracast/explorer/ 下的 dist/ 目录
复制到 /var/www/apiTest/public/ 下 并重命名为 explorer/
# cp -r /var/www/apiTest/vendor/luracast/explorer/dist/ /var/www/apiTest/public/explorer/
三、nginx 配置
server {
listen 80;
server_name api.test.com; # change it to match your server name
root /var/www/apiTest;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
// 这一个 if 判断很重要,如果缺少会出现 404
if ( !-e $request_filename ) {
rewrite ^/public/(.*)$ /public/index.php?_REWRITE_COMMAND=$1;
}
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# log
access_log /var/log/nginx/api_test.access.log;
error_log /var/log/nginx/api_test.error.log;
}
四、在浏览器中访问 http://api.advapi.com/public/explorer/index.html
http://api.test.com/public/explorer/index.html
五、问题和解决方法:
(1)200 : OK ../resources.json
在本机上没有配置虚拟主机, 直接用 localhost 访问,会出现 这个问题.
(2) 404 : Not Found ../resources.json
在 /var/www/apiTest/public/ 下没有 cache/ 目录.
或者 nginx 的配置文件里缺少如下的 if 判断:
if ( !-e $request_filename ) {
rewrite ^/public/(.*)$ /public/index.php?_REWRITE_COMMAND=$1;
}
(3) 500 : Internal Server Error ../resources.json
cache/ 目录没有可写权限.
解决方法:
在 /var/www/apiTest/public/ 下创建 cache/ 并设置为可写权限.
命令如下:
# cd /var/www/apiTest/public/
# sudo mkdir cache
# sudo chmod -R 777 cache/
写下来作为记录,并且希望能够需要的童鞋.
ping -c 1 google.com | egrep -m1 -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
相关推荐
Ubuntu 12.04下如何安装MySQL ,我按照这文档,已经成功在ubuntu 12.04安装成功mysql!
《Ubuntu 12.04 使用手册1—4》是一套专为Ubuntu 12.04 LTS(长期支持版)用户编写的详尽指南,旨在帮助初学者和进阶用户掌握这一开源操作系统的基本操作与高级技巧。Ubuntu 12.04,代号“Precise Pangolin”,是...
标题“libc6 for ubuntu12.04”涉及的是Ubuntu 12.04操作系统中的一个关键系统库——libc6。这个标题表明这是一个针对该特定版本Ubuntu的libc6软件包,它是Linux系统中核心的C语言运行时库。 **libc6详解** libc6...
Ubuntu 12.04 下安装 Nginx、Python、uWSGI 和 Django 的步骤 在本文中,我们将介绍如何在 Ubuntu 12.04 环境下安装 Nginx、Python、uWSGI 和 Django。这些技术栈组合是非常流行的 Web 应用程序开发环境。 一、...
**Ubuntu12.04菜鸟使用手册合集** 这是一份专为Ubuntu 12.04新手设计的详尽指南,旨在帮助初次接触Linux系统的用户熟悉和掌握Ubuntu操作环境,将其配置得如同Windows系统般易用。Ubuntu是基于Debian的开源Linux发行...
Ubuntu12.04菜鸟使用手册合集+Ubuntu标准教程Ubuntu12.04菜鸟使用手册合集+Ubuntu标准教程Ubuntu12.04菜鸟使用手册合集+Ubuntu标准教程Ubuntu12.04菜鸟使用手册合集+Ubuntu标准教程Ubuntu12.04菜鸟使用手册合集+...
**Ubuntu 12.04 菜鸟使用手册(全)** Ubuntu 12.04 是一个基于Debian的开源操作系统,以其用户友好性和稳定性而受到广大用户的喜爱。这个版本,也被称作Precise Pangolin(精确的穿山甲),在2012年发布,提供长达...
### Ubuntu 12.04 安装及配置过程详解 #### 一、准备工作 **1. 下载 Ubuntu 12.04 镜像文件** - **32位与64位的选择:** - 建议大多数用户选择32位版本,除非您的计算机硬件支持64位并且您需要利用更多的RAM资源...
在Ubuntu 12.04操作系统中安装Java Development Kit (JDK) ...以上步骤确保了在Ubuntu 12.04上成功安装和配置JDK,使系统能够识别并使用Java开发工具。记得根据实际情况调整路径和版本号,以适应不同的JDK和系统环境。
Ubuntu 12.04 中 Samba 安装和设置指南 Samba 是一款功能强大的共享工具,可以实现与 Windows 的共享,就是我们经常在 Windows 计算机之间使用的网上邻居功能,可以共享文件和打印机等。在 Ubuntu 12.04 中安装和...
使用ubuntu 12.04 64位环境安装 adb fastboot,.de文件即可使用。 将android设备连接至电脑,通过lsusb查看usb设备,如下红色部分对应的就是android设备。 重启adb服务,adb devices有设备说明adb安装成功 $adb kill-...
在Ubuntu 12.04上安装Zabbix 2.0.3的详细步骤涉及到多个环节,包括系统准备、依赖库安装、Zabbix源码编译、数据库设置、配置文件修改以及服务启动与优化。以下是整个过程的详细说明: 1. **系统用户与组创建**: ...
原来的ssh扫描报太多漏洞了,整理了下一键安装的脚本直接升级到最新的;...#update Ubuntu12.04 : OpenSSH_7.9p1, OpenSSL 1.1.1b 26 Feb 2019 #old : OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
### Ubuntu 12.04 菜鸟完全使用教程知识点 #### 初识Ubuntu 12.04 Ubuntu 12.04(Precise Pangolin)是Ubuntu发布史上较为经典的一个版本,于2012年4月发布,拥有长期支持(LTS)特性,直到2017年4月停止官方支持...
总之,这个"ubuntu12.04LTS视频安装教程[标清版]"提供了从零开始学习Ubuntu的宝贵资源,尤其对于新手来说,通过视频直观地学习和实践,能更快速地掌握Ubuntu的安装和使用。无论您是想尝试新的操作系统,还是希望在...
在本文中,我们将详细介绍Ubuntu 12.04、14.04、16.04安装Nvidia显卡驱动的步骤和相关知识点。 知识点1:卸载旧版本的Nvidia驱动 在安装新的Nvidia显卡驱动之前,我们需要卸载旧版本的Nvidia驱动。使用以下命令...
1. **安装过程**:Ubuntu 12.04提供了多种安装方式,包括Live CD/DVD或USB启动,以及网络安装。用户可以选择图形化安装界面,按照提示进行分区、选择时区和用户设置。 2. **Unity界面**:Ubuntu 12.04引入了Unity...
用 VMware 安装 Ubuntu 12.04详细过程图解