本帖最后由 rsgg03 于 2013-12-25 02:26 编辑
PHP
概述由BAE3.0版本开始,我们的执行环境发生了质的变化,每个应用的执行环境为一个(或多个)lighttpd+php-cgi的执行单元中执行,每个执行单元有单独的运行空间和单独的隔离资源,这样可以隔离不同应用之间的影响,从而保证应用的独立性。另外由于多个实例分属到不同的服务器上,因此需要从应用程序上避免对本地文件的数据存储。
PHP执行环境基于官方版本 5.4.17实现,每个应用都独享一个单独的执行空间,从而保证用户代码和数据的安全,具体可参考 [ BAE3.0概述]。 目前,执行环境分为两种,web和worker。Web类型支持http访问,例如常规的互联网应用。支持运行后台任务,例如长时间抓取数据的程序等。
开发指南下面为大家实战演示两个demo,一个为web,另一个为worker。
1、web应用类型演示:
demo目标,在页面上输出“hello world”,并显示执行环境的phpinfo()配置信息。
1. 添加新的部署,选择类型为web
图1
2. 创建新部署成功,获取对应的svn地址。
图2
图3
3. svn checkout
图4
图5
4. 更改index.php中的内容
图6
5. svn commit之后发布新版
图7
6. 访问web页面,看到效果
图8
2、 worker应用类型演示:
demo目标,执行一个任务,每一秒向日志中输出当前的时间戳。
1.新建部署,选择类型为 worker
图9
2. 获取对应的svn地址,checkout
图10
3. 编辑foo.php,supervisord.conf不动,其中的内容为“运行foo.php,将运行日志和错误日志重定向”
图11
4. 发布新版本
图12
5. 查看日志,可以看到结果源源不断的输出
图13
日志调试 当用户的应用开始运行时,可以通过我们的应用日志来对应用的状态进行查看 以及相关代码的调试。
默认情况下,web类型的应用我们会提供如下日志“lighttpd.log”、“lighttpdwf.log”。
- 1.lighttpd.log 实时的显示lighttpd web服务器的请求日志;
- 2.lighttpdwf.log 实时的显示lighttpd web服务器的错误日志;
如果用户觉得日志种类不够,也可以自己来定制日志的种类和内容,只需要用户自定义的内容输出到 “/home/bae/log” 下即可,如 “/home/bae/log/user.log”,那么就可以在日志界面中看到。
框架支持 BAE3.0为用户开放了所有的读写权限,因此,对所有的开发框架都给予支持。具体创建步骤请看“开发指南”,yii版本下载地址为 yii-1.1.13 高级进阶 1、临时目录 PHP执行环境对本地读写数据提供了支持,但是每个执行单元只有有限的空间来存放临时文件(比如1G),用户可以对‘/home/bae’下的文件和路径做任何的修改,可放心读写,但是要注意,应用的根目录为/home/bae/app,切记不要对它做操作,否则可能会对应用造成影响。但是毕竟是临时,一旦重新发布,则创建的临时文件将会消失。如果要解决这个问题,可参考 如何在更新代码时保留本地写入的文件 或者使用我们的NFS服务。 cgi-fcgi ctype Curl date Dom filter Gd gettext Hash iconv Json libxml mbstring mcrypt mysql mysqli netfilter pcre PDO session SimpleXML SPL standard xml xmlreader xmlwriter Zlib Opcache注意事项1、 环境变量
3.0中取消了2.0中的全局变量,如有需要用到的相关系统参数(如API Key或Secret Key),须自行到应用管理界面中获取。
2、外网资源访问
目前支持http,https,tcp三种方式访问外网。 http,https资源通过使用php curl系列函数进行访问。 tcp/udp资源通过使用php sockets系列函数进行访问。
3、请求执行时间限制
|