LNMP环境下编译安装PHP扩展fileinfo始终提示内存小的解决办法

作者: 温新

分类: 【PHP技术】

阅读: 3876

时间: 2019-01-03 15:29:25

前几天将博客开发完后,部署到服务器上,谁知,报错了。看报错原因是提示缺少 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:若文章不足或者错误之处,请指出,我们一起进行讨论学习!

请登录后再评论