在购买的阿里云服务器上编译,1g内存,一编译就报错
virtual memory exhausted: 无法分配内存
make: *** [ext/fileinfo/libmagic/apprentice.lo] 错误 1
为什么编译耗那么大内存呢?现在还不得而知。https://bugs.php.net/bug.php?id=48809这里面有人说从gcc版本里面查,我的gcc版本是
gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)。
使用free -m(http://weizhifeng.net/view-cpu-memory-info-of-linux.html这里说的很清楚)可以查看到内存的使用情况和大小
既然内存不足,这时候swap交换空间,也就是虚拟内存登场了。
什么是swap呢?http://blog.csdn.net/tianlesoftware/article/details/8741873这里面说的很清楚
阿里云服务器默认不会给你分配swap空间,需要自己手动添加(http://blog.csdn.net/sungblog/article/details/1185965)。
也有人说在php编译参数中添加--disable-fileinfo,从这个参数来看是放弃了fileinfo扩展的安装,为什么选这个呢?