MENU

Enterprise框架的第一个应用上线了

October 26, 2013 • 扯淡

大概是40多天前,我开始了Enterprise Framework的书写工作。这是一个致力于用最少的代码完成最多的事,同时维持一个较好的“简便—性能”平衡的框架项目,也是我首个使用GitHub托管的开源项目。在几分钟前我向GitHub提交了第28个commit后,我才真的觉得它可以投入实际应用了。我大部分时间是在本地使用APMServ集成环境进行的代码测试,它确实很好用——但是却并不能代表全平台。这意味着,它可能会有着一些问题。

在之前(得益于Git版本控制,可以查询到是在半个月前)我写睿云引擎以支持云平台,在SAE上做实例测试时,便发现了挺多问题。代码部署完毕后,第一个打击人的大问题就是HTTP 500错误。经过一番核查,我竟然在源码中找到了一句非法的语句,但是修改后仍然是没有输出、必要文件包含不正常的状态。在多次使用XHProf调试无果后,便暂时放弃了。

今天所说到的使用Enterprise框架的第一个应用,是FOP的配套应用——查询系统。经过一周的本地开发,我终于决定将其与VA China整合,调试、修改并部署代码后——仍然还是各种错误,包括HTTP 500,无输出等。这让我感到深深的不安:看起来不仅仅只是分布式环境下不能正常使用,只是将Apache换成了Nginx都可以引起这种严重的后果。这样的情况是与项目的设计理念相悖的。当然,经过一番调试后,问题终于解决了。

整体框架中有如下修改:①Lib目录下使用foreach结构循环包含在php 5.3.x下不可正确运行,现改为单句包含;②Enterprise.class.php调度器及路由类中所使用环境变量在不同生产环境下变化较大,现由伪PATHINFO改为强制真PATHINFO,Nginx下必须配置PATHINFO方可正常使用;③SAE下io文件有所修改,SAE下应可使用,暂未测试;④针对不同的URL生成情况,现统一采用强制绝对URL,conf.php中新增强制配置项APP_URL。

目前Enterprise Framework在如下环境下可以正常运行:
①本地环境:Windows 7/Apache 2.2.9/php 5.2.6/MySQL 5.1.28
②生产环境:CentOS 6.3/Nginx 1.2.7/php 5.3.17/MySQL 5.5.28
由此看来,在Win/Linux两类常用平台、Apache/Nginx两种常见http服务器、php 5.2和5.3两个有差异版本、MySQL 5.1和5.5一个较久一个新版本下,框架都可以正常运行,可以满足生产使用要求。

第一个应用:http://stats.vachn.com
最新的框架已经提交到master分支,欢迎大家参与维护:https://github.com/Bokjan/EnterpriseFramework
不要忘了,这个统计中心应用也是开源发布的(MIT许可证):https://github.com/Bokjan/fsdstats

Tags: php
Archives Tip
QR Code for this page
Tipping QR Code