Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101901184
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-08 12:53:09

作者: auto  出自:
  月中的时候Adobe labs放出了这个Flex Module for Apache and IIS,这个编译模块可以让您直接在线编译您的flex文件,有点类似FDS的直接访问.mxml文件,后台自动编译要访问的文件,然后直接将编译好的SWF用 HTML封住好返回给我们,不过和FDS不同,这个不需要任何的服务器技术,只需要apache服务器上安装有JRE和Flex SDK就可以了。

  其实这个的原理也是很简单,首先在apache中增加一个 Handler,用于处理.mxml文件的访问。然后apache收到.mxml文件的访问时调用编译器编译.mxml文件,当然这里使用的增量编译以减少后续访问的编译时间。而Apache对编译器的调用就更加的简单,直接就是一个java的调用,类似如下:

  java -Djava.awt.headless=true -jar /home/feiy/Programs/Flex2/SDK/flexc.jar /opt/feiy/www/Main.mxml /Main.mxml test&这个调用一目了然,不需要我多说吧?嘿嘿...

  Ubuntu下安装如下,首先到labs网站下载安装文件。

  wget +x flex_mod_basic_linux.binsudo ./flex_mod_basic_linux.bin接着就会出现一个安装画面,需要我们输入Flex2 SDK的位置,Apache配置文件的位置,以及一些Flex Module for Apache and IIS的设置。以上安装会将Flex Module for Apache and IIS的大部分文件安装到你的SDK同一目录中,其中$FLEX_SDK/modules/mod_flex.so就是apache中处理.mxml文件访问的模块。

  因为Ubuntu中,Apache的配置缺省配置都存放在 /etc/apache2.conf文件中,而前面的安装程序需要通过检测httpd.conf文件来检测系统中安装的apache版本,所以在 Ubuntu中就不能检测到正确的Apache版本而使用缺省的2.0版本的mod_flex.so,进而启动Apache的时候就会报如下错误:

  apache2: Syntax error on line 189 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/httpd.conf: API module structure `flex_module' in file /home/feiy/Programs/Flex2/SDK/modules/mod_flex.so is garbled - perhaps this is not an Apache module DSO?解决的方法是自己从安装文件中解压出对应版本的Apache module文件,Flex Module for Apache and IIS的安装程序是用InstallAnywhere打包的,所以我们可以用如下方法解压出我们需要的文件:

  首先,运行安装程序,然后点击OK,出现第一个介绍画面后停下来不要再点击。

  现在,在/tmp目录下会有一个类似install.dir.15138 的文件夹,这个就是InstallAnywhere临时解压出来用于安装过程使用的文件存放路径,其中 /tmp/install.dir.15138/InstallerData/Disk1/InstData/Resource1.zip包含所有的 Flex Module for Apache and IIS需要的文件。

  解压Resource1.zip这个文件,在解压出来文件的$ IA_PROJECT_DIR$/data/mods目录包含所有平台所有apache版本的模块文件。其中linux_zg_ia_sf.jar包含所有linux版本的.so文件(其他的macos_zg_ia_sf.jar包含mac平台的apache模块文件,win目录下是所有win平台的 dll文件)。

  解压linux_zg_ia_sf.jar,将2.2目录下的mod_flex.so复制到$FLEX_SDK/modules/mod_flex.so,Apache就可以正常启动了。

  为了便于大家安装,我已经将以上提到的文件剥离出来了,使用Apache 2.2的朋友可以直接点击这里下载2.2的.so文件,其他版本或其他平台的用户请下载这个包含所有平台的压缩包。

  Apache启动后,不要访问官方说明中的http: //localhost/Main.mxml测试,因为前面安装程序的BUG,实际上这个Main.mxml是不存在的,而目前的Beta版本的在线编译器会一直对于不存在文件不存在会一直死循环编译下去的。所以请访问测试相应的例子应用好了。

  PS:这个Hotfix 1 for Flex 2.0.1 SDK大家关注下,建议立刻升级您的Flex SDK,修复了不少的BUG哦!
阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~