输入命令 $ php -i |grep memory 查看内存限制
memory_limit => 512M => 512M
输入 $ php -i | grep php.ini 找到php.ini位置:
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
用vim打开文件修改配置,$ sudo vim /etc/php5/cli/php.ini 按: 进入命令行模式 输入/memory_limit,找到memory_limit 修改配置为 memory_limit = 1024M
最后 $ composer up
要明白是什么影响了composer的运行速度,必须先理解composer的运行原理。composer的大致运行步骤如下:
1.分析你的composer.json文件,找到所有需要安装的第三方软件的名称和对应的版本号
2.从本地缓存目录和packagist服务器获取上述的第三方软件的信息,包含最新版本,代码存放地址等等
3.分析依赖关系,根据包依赖、版本是否有更新等条件计算出最终需要安装的第三方软件的清单
4.根据这份清单下载第三方软件的源代码,根据参数的不同,下载方式会是用git clone项目或者是直接下载zip包
5.将第三方软件安装到本地,一般是安装在项目下的./vendor目录,同时根据参数生成用于载入第三方软件的autoload文件
分析:从上述步骤中可以看到composer在运行时会有5个不同的阶段,而其中1、2、3、4步都是会因为各种原因导致composer执行速度缓慢的,类似composer-proxy.com这样的composer镜像/代理站其实已经解决了第1、2步骤速度慢的问题,也就是加快从packagist下载版本更新定义文件慢的这一步。而3这一步由于php的运行效率所限制,加上计算依赖的算法又特别复杂,所以如果用的第三方软件特别多,就特别容易造成内存不足、超时、运行缓慢等问题。
测试基于6个项目进行composer update --dry-run得出,可以看到使用了hhvm之后速度从2分14秒提高到了34秒,平均6秒就完成一个项目的composer update,可见速度提升是非常大的。
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....