昨天在 Linux 服务器上部署 PHP 项目时遇到了一个问题,系统为 Centos 7 ,1 核 1G 的配置。通过 Git 拉取代码后,由于是基于 Laravel 框架的项目,所以需要使用 Composer 安装扩展包依赖,和平常一样,在项目根目录执行 composer install 但是直接输出了 killed,中断了安装,在网上查了一些资料,原因大致是内存不足导致的,程序不能正常使用,解决思路是 Linux 系统中内存不足时可以使用 Swap 分区进行扩充,具体操作步骤如下:
# 查看内存和 swap 的使用情况:
$ free -m # 在 var 目录创建制作swap文件
$ cd /var $ mkdir swap $ cd swap # 创建一个空文件, count 表示创建的文件大小,这里代表1GB
$ dd if=/dev/zero of=swapfile bs= count= # 将创建的文件制作为 swap 文件
$ mkswap swapfile # 使swap文件生效
$ swapon swapfile # 自动挂载
$ vim /etc/fstab # 写入
/var/swap/swapfile none swap sw #再次查看使用情况
$ free -m

完成上述的步骤后,应该 Swap 分区就可以正常使用了,再次执行 composer install 就可以正常安装了!

    最后需要说的是,这种方式也有很明显的缺点,因为内存和闪存的存取速度有相当的区别,我们是将闪存的一部分空间作为内存使用,闪存的速度会拖慢运行速度。最好还是买一个配置较高的服务器,一劳永逸!

参考:

临时解决执行 Composer Install 返回 Killed 的问题的更多相关文章

  1. 执行composer install 报错的解决办法

    执行composer install后报以下错误: Loading composer repositories with package informationInstalling dependenc ...

  2. php项目执行composer install时报错

    报错信息: Loading composer repositories with package informationInstalling dependencies (including requi ...

  3. 执行composer install后报错:执行composer install后报错: d11wtq/boris v1.0.10 requires ext-pcntl * -> the requested PHP extension pcntl is missing from your system.

    执行composer install后报错: d11wtq/boris v1.0.10 requires ext-pcntl * -> the requested PHP extension p ...

  4. composer update 或者 composer install提示killed解决办法

    出现此原因大多因为缓存不足造成,在linux环境可增加缓存解决. free -mmkdir -p /var/_swap_cd /var/_swap_#Here, 1M * 2000 ~= 2GB of ...

  5. 【PHP】Composer使用简介,composer install 和 update 区别

    1.composer是php的依赖包管理工具 2.符合PSR-0/1/2/3/4 规范 3.composer安装推荐使用国内镜像 4.composer require/install/update 区 ...

  6. composer install 出现“Please provide a valid cache path”

    本文背景:通过deployer部署PHP项目[deployer部署工具:https://deployer.org/] 问题:Php 的laravel框架中执行 composer install 后, ...

  7. laravel composer install 报错解决方法

    composer install 报错信息: 报错原因参考:http://blog.csdn.net/yicixing7/article/details/55050140 解决方法: 把compose ...

  8. composer install 时,提示:Package yiisoft/yii2-codeception is abandoned, you should avoid using it. Use codeception/codeception instead.的解决

    由 SHUIJINGWAN · 2017/11/24 1.composer install 时,提示:Package yiisoft/yii2-codeception is abandoned, yo ...

  9. composer install提示需要输入账号解决方法

    1.问题描述:输入composer install提示需要输入账号,如下所示: 2.解决方法,改用社区的源:composer config -g repo.packagist composer htt ...

随机推荐

  1. ASCII编码,将英文存储到计算机

    前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符. 可想而 ...

  2. fdssd

    #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #in ...

  3. CentOS6.5-6.9安装 docker

    安装docker yum -y install docker-io 备注:查看内核版本uname -r ;卸载docker版本命令 yum remove docker 更改配置文件 vim /etc/ ...

  4. webview在compileSdkVersion 大于等于23 android6.0以上系统执行js代码异常,但是在compileSdkVersion小于23 android6.0以下系统却执行正常问题

    问题分析: 在compileSdkVersion>=23 android6.0以上webview.loadUrl用这个方法执行js时会将js中的一些代码当做特殊字符处理, 比如js中var t= ...

  5. js实现图片轮播图

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. Codeforces 1315B Homecoming (二分)

    After a long party Petya decided to return home, but he turned out to be at the opposite end of the ...

  7. Eclipse代码规范

    配置代码自动格式化 1.导入规范文件  codeStyle.xml <?xml version="1.0" encoding="UTF-8" standa ...

  8. Python 多任务(进程) day1(1)

    进程和程序的关系: 通俗来讲程序是死的不变的,进程是活的改变的.一个程序在没运行之前是程序,运行之后是进程 程序是一种电脑能识别的2进制代码,当你一直运行程序的时候,会出现多个进程(相当于菜谱和菜,照 ...

  9. Docker - Docker 镜像 简介

    概述 简单介绍一下 docker 镜像的概念 1. 背景 复习 docker 镜像是 docker 最基础, 最重要的概念之一 所以正式使用之前, 最好有所理解和认识 2. 镜像 概述 简单描述 理解 ...

  10. Go_栈

    1. 栈的介绍 2. 栈的应用 3. 栈入门 package main import ( "fmt" "errors" ) //使用数组来模拟一个栈的使用 ty ...