Appfog + PHP两日使用感想

April 1, 2013

为什么是Appfog?以前用的PHPfog在我没留意的时候就关了,感觉Appfog也差不多,免费就能有Redis和够我用的流量。

为什么是PHP?Appfog支持的各种语言和框架中,我最熟的就是PHP了,最初目的是想弄个简单的东西,不想花太多时间。

一言以概:SB的决定造就蛋痛的经历。

我要用Redis保存数据,但是我的电脑上没有Redis、没有phpredis,于是我马上编译了最新的Redis。但是安装phpredis的时候,我突然就觉得太麻烦,放弃了。这就SB的决定导致后面的蛋痛经历。

这么做的结果就是我不能在本机测试,只能放Appfog上运行(突然想起各种把生产服务器搞垮的事例)。 那时我觉得,反正就一两个文件,几百行代码的简单应用没问题的。大段大段的代码写完后,我先用php -l检查一下语法错误,然后就上传运行。

时间大概是这样用掉的:

  • 1/3: 样式(所以说我前端渣)
  • 1/3: 代码
  • 1/3: 上传代码和调试

上传代码和调试居然用了那么多时间!

上传代码其实还包括重新启动应用,每次好几十秒。重启之后,开始调试。调试的时候最常出现的是500 Internal Server Error,这通常是PHP出错了,我就用af logs看看服务器上的错误,然后改代码,循环。

php -i检查语法之后,还是会有很多拼写错误、作用域不对,这些错误只能在运行时发现,一次改一两个,所以花了我很多时间。用动态语言然后又不写测试就是这么悲剧。

这蛋痛的经历告诉我:

  1. 要写测试
  2. 代码要能测试
  3. 开发环境和生产环境的配置要一致