首页 > PHP教程 > 正文

错误解决:cc: Internal error: Killed (program cc1)

在给一个vps安装php扩展的时候,进行make编译时候报错,报错信息:cc: Internal error: Killed (program cc1),感觉莫名其妙。google了一下,发现是内存太小的问题(太穷了,买不起内存大的vps),网上的解决方案大致两种,我测试了下有效,特地写出来,完善一下解决方案。

方法1:增加交换区(虚拟内存)

该方法为通用方法, 在其他程序编译出现类似错误的时候也可以使用,不仅仅针对PHP扩展出错。

命令如下:

sudo mkdir -p /var/cache/
sudo dd if=/dev/zero of=/var/cache/swap0 bs=2M count=1024
sudo mkswap /var/cache/swap0 
sudo swapon /var/cache/swap0

解释一下上面的命令

首先虚拟内存就是硬盘上的一个文件,所以需要先创建该文件的文件目录

dd命令:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

可以理解为在创建虚拟内存时需要这么做。但是dd用处不仅仅是这一种场景。有兴趣的同学可以自己百度查一下。

dd参数:

bs=bytes:同时设置读入/输出的块大小为bytes个字节。 

count=blocks:仅拷贝blocks个块,块大小等于ibs/bs指定的字节数


mkswap 设置交换分区 

swapon 启用交换分区


注意: 当服务器内存小于4G的时候,交换分区一般设置为是内存的2倍.


如果想删除这个交换区,则可以执行如下命令

sudo swapoff /var/cache/swap0
sudo rm /var/cache/swap0


swapoff 关闭交换分区 

rm 删除交换分区


方法2:设置编译参数

在php的编译参数后增加


--disable-fileinfo


重新编译,问题得到解决。


PythonTab微信公众号:

Python技术交流互助群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854

上一篇:一篇弄懂PHP命名空间及use的使用
下一篇:PHP文件类型检查及fileinfo模块安装使用