LNMP环境下编译安装PHP扩展fileinfo始终提示内存小的解决办法
前几天将博客开发完后,部署到服务器上,谁知,报错了。看报错原因是提示缺少 PHP 扩展 fileinfo,编译安装扩展想来是非常简单的事情,下载 fileinfo 扩展,执行 ./configure 正常,继续执行 make,报错了,提示是内存太小,没有就是内存太小,导致无法编译。买的服务器是 1G 内存,而是编译 fileinfo 非常占用内存,这是导致无法编译的直接原因。
出错了,百度吧,结果百度出来的所有答案全都是一样的,失望之际找到一篇博客文章,和我的问题一模一样。奈何,Linux 命令有些不太数据,结果直接复制粘贴运行,报错。又报错了,群里求救吧。
问题是一出,很快见到了答案,解决办法是建立一个swap交换分区,当做虚拟内存使用。
1) 编译配置
默认值会 ./configure 路径指定
2)创建swap交换分区
# 查看内存使用情况
$ free –m
#查看磁盘空间
$ df –h
$ dd if=/dev/zero of=/swapfile bs=64M count=16 #创建文件 #含义自行百度哈~
$ mkswap /swapfile #设置交换分区
设置完成后可以查看空间大小
$ swapon /swapfile #开启交换分区
到此交换分区设置完毕并开启,但是你真的以为就完成了吗?嘿嘿!在此之前执行过 configure 进行配置,所以需要对此项操作进行重新配置,方才真正完成。
3)fileinfo 扩展安装完成之后删除 swap 分区
$ rm –rf /swapfile #删除交换分区
执行了上述三步,那么整个交换分区设置完毕。如果你遇到了同样的问题,不妨到我的博客来看看,说不定对你有所帮助。
Ps:在此感谢微信技术群友、QQ技术群友的帮助!
Ps:若文章不足或者错误之处,请指出,我们一起进行讨论学习!
请登录后再评论