编译安装php时遇到virtual memory exhausted: Cannot allocate memory

本文介绍在512MB内存的CentOS VPS上编译安装PHP时遇到的虚拟内存耗尽问题及解决方案。通过关闭进程释放内存并未解决问题,最终在php.net找到了答案,即在安装配置文件中加入--disable-fileinfo选项成功完成编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译安装php时遇到virtual memory exhausted: Cannot allocate memory

有时候用vps建站时需要通过编译的方式来安装主机控制面板。对于大内存的VPS来说一般问题不大,但是对于小内存,比如512MB内存的VPS来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作。
本人近期就遇到一个这样的问题:在512MB内存centos操作系统的VPS上编译安装某国内主机控制面板,在编译安装php时日志中有如下错误记录:
virtual memory exhausted: Cannot allocate memory
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

开始时的解决方法是先将很多的进程关闭,比如httpd、ftpd、sendmail等等,释放出了一部分内存后,再进行编译,仍然得到同样的编译错误。后来百度谷歌了很久才找到解决问题的方法,而且是在php.net上找到的解决方法,原文链接是:https://bugs.php.net/bug.php?id=48809

根据这个文章的方法将php安装配置文件中加了引号中的配置(不包括引号)“--disable-fileinfo”后终于编译通过。这里分享出来供参考。

转载于:https://www.cnblogs.com/masamia/p/4051721.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值