云应用已支持在线执行composer install

为了方便广大开发者,新浪云率先支持在线执行composer install,通过我们的工具,可以无需安装composer客户端下载依赖文件。

特别注意,新浪云不会自动将生成的依赖文件上传到你的应用代码下,需要您自行下载后上传。

composer介绍

简单来说,Composer 是一个新的安装包管理工具,服务于 PHP 生态系统。现在主流的开源框架大多基于composer管理依赖,例如laravel,如图:

国内常用的框架thinkPHP5:

等等,那么如何基于composer.json下载需要的依赖文件呢?可以参考这里的介绍,http://docs.phpcomposer.com/00-intro.html 这里不再赘述。

如何使用

基于单个composer.json

新浪云支持两种默认帮开发者下载依赖文件,如果你的composer.json中只是依赖部分其他项目,不需要进行classmap生成,执行post-install-cmd等操作,可以直接上传或者黏贴composer.json文本,系统会自动基于你上传的composer.json文件下载依赖文件,并最终提供压缩包。

进入应用的管理首页,按以下步骤即可创建一个异步任务:

  • 选择左侧增值服务选择composer
  • 点击+创建composer下载任务进入任务新建页面
  • 输入composer.json内容
  • 点击确定提交

任务执行成功后,从操作中点击下载,即可下载导出的tar.gz包,如图:

下载后本地解压看一下,可以看到目录结构如下:

把vendor目录拷贝到你的代码目录下全部提交,入口文件加载vendor下的autoload.php文件即可。

基于整个代码

如果composer.json定义了一些需要本地文件结构的操作,如果只上传一个composer.json文件就无法执行了,新浪云同样支持基于整个代码目录的composer依赖生成。

步骤如下:

  • 将你本地的代码压缩成zip包,注意一定要保证压缩包中没有一个单独的二级目录,要确保解压后composer.json在根目录下,以lavavel为例,下载源码后解压,进入文件列表下全选文件,点右键压缩为一个zip,如下图所示:

  • 选择新建任务分类为上传文件

  • 上传刚压缩的文件,确定,新增任务

等待任务完成后下载文件,解压发现vendor目录已经生成:

这时将生成的整个代码上传即可。

其他说明

  • 问:新浪云执行composer的环境是什么?答:执行的环境PHP版本为php5.6.20
  • 问:怎么计费?答:执行成功扣除1云豆,不成功不计费
  • 问:生成失败怎么处理?答:请提交工单联系我们处理。
  • 问:能在提交代码时自动加载依赖吗?答:我们不建议您这么做,因为执行composer install时间不可控,可能会阻塞代码提交。