前阵子发现ac.jobdu.com用的SAE,大概看了下,发现不错。好歹支持PHP,比GAE上手难度低那么一些。而且反正网络中心建议用PHP重写FRS。最近几天不想读书,就来学习学习。
SAE提供的免费配额还是挺多的,而且大部分服务都配置好了,我最看好的是Storage——FRS需要的巨大的照片存储空间有着落了。
这几天的了解来看,SAE也不是那么地开放。有评论说提供的PHP是阉割了的,原生WordPress不支持,而自己发布了修改过的WordPress。但我依然看好,谁然他是国内第一家,也是目前唯一一家AppEngine呢。
之前也没怎么接触过PHP,就昨晚很迅速地把W3C上的PHP教程翻完了,感觉难度也不是太大。别的功能就没什么要试的,今早就开始捣鼓捣鼓以前同样没接触过的MySQL。
SAE文档提到支持标准的MYSQL,MYSQLI和PDO模块(基于MySQLnd),而文档的范例提供的是SAE的自有类SaeMysql。实在不想被平台牵制得那么牢,就想用原生的MySQL,结果果然遇到不少麻烦。
经历了许久的“SAE_Warning: mysql_connect() this app is not authorised”错误后,终于在SAE的“常见问题”里面挖出了官方解决办法。原来SAE已经内置数据库连接所需参数的常量:
define( 'SAE_MYSQL_HOST_M', 'w.rdc.sae.sina.com.cn' );//主库地址
define( 'SAE_MYSQL_HOST_S', 'r.rdc.sae.sina.com.cn' );//从库地址
define( 'SAE_MYSQL_PORT', 3307 );//数据库端口
define( 'SAE_MYSQL_USER', SAE_ACCESSKEY );//数据库用户名
define( 'SAE_MYSQL_PASS', SAE_SECRETKEY );//数据库密码
define( 'SAE_MYSQL_DB', 'app_' . $_SERVER['HTTP_APPNAME'] );//数据库名
查找资料过程中,了解到SAE是通过RDC来操作MySQL数据库,而且还有主库、从库的区分。有资料说查询最好在从库进行。从目前查找的资料来看,主库用于写,从库用于读,可以提高系统性能以及安全性。但具体原理还是不太了解,还请各位指教。
预告:下一步就是SAE Storage尝鲜了,打算实现网页上传文件到Storage,并把网址写入MySQL数据库,从而调用数据库网址显示图片。