分享

应用引擎BAE3.0语言环境介绍: PHP

rsgg03 发表于 2013-12-25 02:15:03 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 0 8925
本帖最后由 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.jpg
图1

2. 创建新部署成功,获取对应的svn地址。
2.jpg
图2

3.jpg
图3

3. svn checkout
4.jpg
图4

5.jpg
图5

4. 更改index.php中的内容
6.jpg
图6

5. svn commit之后发布新版
7.jpg
图7

6. 访问web页面,看到效果
8.jpg
图8

2、 worker应用类型演示:
demo目标,执行一个任务,每一秒向日志中输出当前的时间戳。
1.新建部署,选择类型为 worker
9.jpg
图9

2. 获取对应的svn地址,checkout
10.jpg
图10

3. 编辑foo.php,supervisord.conf不动,其中的内容为“运行foo.php,将运行日志和错误日志重定向”
11.jpg
图11

4. 发布新版本
12.jpg
图12

5. 查看日志,可以看到结果源源不断的输出
13.jpg
图13


日志调试
当用户的应用开始运行时,可以通过我们的应用日志来对应用的状态进行查看 以及相关代码的调试。
14.jpg






  • 1.默认日志

默认情况下,web类型的应用我们会提供如下日志“lighttpd.log”、“lighttpdwf.log”。







    • 1.lighttpd.log 实时的显示lighttpd web服务器的请求日志;
    • 2.lighttpdwf.log 实时的显示lighttpd web服务器的错误日志;



  • 2.自定义日志
如果用户觉得日志种类不够,也可以自己来定制日志的种类和内容,只需要用户自定义的内容输出到 “/home/bae/log” 下即可,如 “/home/bae/log/user.log”,那么就可以在日志界面中看到。  
框架支持
BAE3.0为用户开放了所有的读写权限,因此,对所有的开发框架都给予支持。具体创建步骤请看“开发指南”,yii版本下载地址为 yii-1.1.13
高级进阶
1、临时目录 PHP执行环境对本地读写数据提供了支持,但是每个执行单元只有有限的空间来存放临时文件(比如1G),用户可以对‘/home/bae’下的文件和路径做任何的修改,可放心读写,但是要注意,应用的根目录为/home/bae/app,切记不要对它做操作,否则可能会对应用造成影响。但是毕竟是临时,一旦重新发布,则创建的临时文件将会消失。如果要解决这个问题,可参考 如何在更新代码时保留本地写入的文件 或者使用我们的NFS服务。
2、扩展支持 & 自定义配置 目前我们支持以下或者更多的php so扩展足以满足绝大部分用户需求。如果用户发现没有自己需要的so扩展,可以自行添加所需要的扩展,参考 php runtime使用自定义添加的so扩展 & php runtime自定义php.ini 具体的demo代码可以参考 自定义php.ini&自定义扩展demo
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、请求执行时间限制
单个请求最大执行时间为30秒,如不满足需求,可使用set_time_limit或者参考php runtime自定义php.ini设置超时时间
欢迎大家如about云官方群371358502,更新咨询,更新资源,随时关注

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条