之前做的项目用到CI框架和amfphp的整合,主要用于php与flex的交互,在此做一下记录:

一. 安装CI框架:

1.  搭建PHP运行环境,本人在WIN7下用WAMP作测试,安装目录:d:/wamp/www

2.  下载CI框架,在官网http://codeigniter.org.cn/downloads 下载 最新版本,解压打包。

3.   将CI文件架名称修改为ciamfphp,并存在到d:/wamp/www,开通虚拟域名,

绑定HOST为: www.ciamfphp.cc,设置好之后访问此域名,如果见到CI框架的欢迎界面,说明搭建CI框架成功。

二.下载: amfPhp 1.9

网址:http://downloads.sourceforge.net/project/amfphp/amfphp/amfphp%201.9.zip

三.配置amfphp

1. 解压到 d:\wamp\www 根目录下并重命名为amfphp

2.将amfphp复制到\wamp\www\ciamfphp\application\libraries\目录下

3. 在D:\wamp\www\ciamfphp\application\libraries\amfphp下,将amfphp 文件夹中的browser文件夹剪切到D:\wamp\www\ciamfphp根目录下

4. 打开文件D:\wamp\www\ciamfphp\amfphp\application\controllers,在其下建立一个名为amf_gateway.php的控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
* AMFPHP网关接口
*/ class Amf_gateway extends CI_Controller
{
protected $gateway;
protected $amf_path = "libraries/"; //amf中间路径 public function __construct()
{
parent::__construct();
} public function index()
{ /*
* ---------------------------------------------------------------
* 加载AMF框架入口文件
* ---------------------------------------------------------------
*
* 只有index 方法为amf服务入口
*
*/
require realpath(APPPATH)."/{$this->amf_path}amfphp/globals.php";
require realpath(APPPATH)."/{$this->amf_path}amfphp/core/amf/app/Gateway.php";
define('AMFSERVICES', realpath(APPPATH)."/{$this->amf_path}amfphp/services"); //调用全局验证控制器文件
require AMFSERVICES.'/Crm_Controller.php'; //实例化 网关
$this->gateway = new Gateway();
$this->gateway->setCharsetHandler("iconv", "UTF-8", "UTF-8");
$this->gateway->setLooseMode();
$this->gateway->setErrorHandling(E_ALL ^ E_NOTICE);
$this->gateway->setClassMappingsPath(AMFSERVICES.'/vo');
$this->gateway->setClassPath(AMFSERVICES); //分析错误
if(PRODUCTION_SERVER)
{
//Disable profiling, remote tracing, and service browser
$this->gateway->disableDebug();
} return $this->gateway->service();
} } /* Location: ./application/controllers/amf_gateway.php */

此时:D:\wamp\www\ciamfphp\application\libraries\amfphp\gateway.php文件多余,可以删除。

5. 修改D:\wamp\www\ciamfphp\下的.htaccess文件,允许访问browser文件夹

RewriteEngine on
RewriteCond $1 !^(index\.php|images|browser|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

四. 运行amfphp:

1. 访问 http://www.ciamfphp.cc/amf_gateway/

出现如上提示,则说明设置gateway成功。

2.  打开D:\wamp\www\ciamfphp\application\libraries\amfphp\services文件夹,建立common_controller.php,代码如下:

//主控制器
class Common_Controller extends CI_Controller
{
//other code...
}

至此,这里就可以做一系列的开发操作了。

3. 此时访问www.ciamfphp.cc/browser后,点击  “settings”图标,

设置下:Gateway location为http://www.ciamfphp.cc/amf_gateway/,点击保存就可以操作了

在CI框架中的配置整合amfphp的更多相关文章

  1. ci框架与smarty的整合

    ci框架与smarty的整合 来源:未知    时间:2014-10-20 11:38   阅读数:108   作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 sma ...

  2. CI 框架中的自定义路由规则

    在 CI 框架中,一个 URL 和它对应的控制器中的类以及类中的方法是一一对应的,如: www.test.com/user/info/zhaoyingnan 其中 user 对应的就是控制器中的 us ...

  3. nginx location匹配顺序及CI框架的nginx配置

    Nginx location匹配顺序如下: 用前缀字符串定义的location规则对URI进行匹配测试. =号定义了精确的前缀字符串匹配,如果发现精确匹配则使用当前规则.否则继续下一步匹配. 匹配其它 ...

  4. php CI框架中URL特殊字符处理与SQL注入隐患

    php CI框架中URL特殊字符处理与SQL注入隐患 php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而在配置里增加单引号' 反斜杠\ 这 ...

  5. CI框架伪静态化配置

    CI框架伪静态化配置 伪静态化,即:去掉入口的index.php, 在url后面加上 .html 后缀 CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/ ...

  6. php json_encode在CI框架中的使用细节

    这个错误的造成原因是加载类类库,转换成json格式的时候不熟悉CI框架的规定导致的,CI框架中规定在将数据转换成json格式的时候需要将类库小写,当然了,调用的时候必须保证有这个类库,且可以在对应的文 ...

  7. CI框架中集成CKEditor编辑器的教程

    CKEditor是在很多开发过程中都会用到的一个富文本编辑器,那么如何在CI框架中使用它呢?这里介绍了在CI下使用CKEditor的方法,版本比较低,是在CI 1.7.3下使用fckeditor 2. ...

  8. CI 框架中的日志处理 以及 404异常处理

    最近在整理项目中的日志问题,查了一些关于 “CI 框架中的日志处理 以及 404异常处理” 的东西,顺便记录一下: 关于错误日志: 1. 在CI框架中的 system/core/CodeIgniter ...

  9. CI框架中的奇葩

    今天在win下开发,使用ci框架,本来是没有任何问题,然后转向了mac上开发,结果出现了个奇葩的问题,就是在ci框架中,控制器命名以"Admin_"为前缀的,在url中,控制器也必 ...

随机推荐

  1. C++一元多项式相加

    实验名称:一元多项式相加 // multiply.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream& ...

  2. Centos6.0使用第三方YUM源(EPEL,RPMForge,RPMFusion)

    yum是centos下很方便的rpm包管理工具,配置第三方软件库使你的软件库更加丰富.以下简单的讲下配置的步骤. 首先,需要安装yum-priorities插件: yum install yum-pr ...

  3. Qt4.8.5配置相关问题

    空余时间想看看Qt,在安装和编译过程中遇到了一些值得记录的东西,总结一下. (一)安装 1.先安装编译环境qt-creator-win-opensource-3.0.0.exe.使用默认路径C:\Qt ...

  4. Enumerate Combination C(k, n) in a bitset

    Suppose n<=32, we can enumerate C(k, n), with bits representing absence or presence, in the follo ...

  5. ExtJs5.1多选下拉框CheckComb

    ExtJs这么多个版本号了.可就是不提供多选下拉框,老外不用这个玩意吗? 5都出来这么久了,新写的项目就用5吧,把曾经Extjs4.2的时搜到前人的CheckComb改巴改巴.能用了就赶紧贴上来,没有 ...

  6. jQuery Validate(一)

    jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单. 但是在学习的过程中,我也遇到了疑惑,网上的很多例子貌似都是依赖jquery.metadata.js这个库, ...

  7. 现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。

    include "stdafx.h" #include<iostream> #include<vector> #include<algorithm&g ...

  8. Quart 2D 绘制图形简单总结(转)

    0  CGContextRef context = UIGraphicsGetCurrentContext(); 设置上下文 1 CGContextMoveToPoint 开始画线 2 CGConte ...

  9. Touch ID和Passcode框架,Apple Watch风格的应用布局

    本文转载至 http://www.cocoachina.com/ios/20141031/10110.html 水平滚动条(artwalk) 测试环境:Xcode 6.0,iOS 8.0     VE ...

  10. MySQL重置root用户密码的方法【亲测可用】

    1. 报错截图 2.当确认已经忘记MySQL密码,则可以通过以下方案重置root用户密码.双击打开C:\Program Files\MySQL\MySQL Server 5.1\my.ini文件,如下 ...