CentOS编译安装php时遇到virtual memory exhausted: Cannot allocate memory
2016-09-06 10:40:37  By: dwtedx

很多哥们在购买服务器的时候、前期都会买配置比较低的服务器以节省成本、内存往往会购买一个GB的服务器、那么这个时候在搭建PHP环境的时候可能会出现内存不够的情况、因为编译过程是一个内存消耗较大的动作


问题描述

由于我个人也从以前BAE迁往自己的云主机、近期就遇到一个这样的问题、在1GB内存centos操作系统中、在编译安装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” 后终于编译通过、这里分享出来供参考、希望一些朋友在遇到这个问题的时候不会只想到加内存、最后的命令如下(注意回车)


./configure --prefix=/usr/local/php705 --with-curl --with-freetype-dir --with-gd --with-gettext 
--with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl 
--with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc 
--with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization 
--enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl 
--enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip 
--disable-fileinfo
make && make install



若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


猜你喜欢的

快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+