• 任何问题、想要吐槽都可以在文章下方评论哦!
  • 点击广告支持小站生存/抱拳/抱拳

编译PHP fileinfo模块因内存不足失败记录

建站相关 迷你 10个月前 (12-02) 395次浏览 0个评论

最近在一台服务器上为NextCloud编译PHP的fileinfo模块出错了。仔细检查了一下,发现错误的提示是:“virtual memory exhausted: Cannot allocate memory”(虚拟内存耗尽:无法分配内存),应该是因为内存不足无法编译中断了。

刚开始还搜索了一番。因为PHP的fileinfo模块编译的时候很耗内存,机器只有512M内存是不是可能不够用,考虑是否需要调整Swap分区。不过后来找到了一个简单有效的方法:暂时关闭大部分服务,腾出内存来进行编译。

机器用的是oneinstack整合包安装的LNMP环境,Nginx/PHP/MySQL/Redis等服务都在运行占用了一定内存,可以用这些命令暂时关闭这些服务:

service nginx stop  # 关闭 Nginx/Tengine/OpenResty
service mysqld stop  # 关闭 MySQL/MariaDB/Percona
service php-fpm stop  # 关闭 PHP
service httpd stop  # 关闭 Apache
service redis-server stop  # 关闭 Redis 分布式缓存服务
service pureftpd  stop  # 关闭 Pure-Ftpd FTP服务

这些命令是给oneinstack环境用的,更多的服务控制命令可以在其官网https://oneinstack.com/install/找到,如果是lnmp一键包环境可以直接使用“lnmp stop”命令。

 

尽可能的关闭服务后,执行编译命令,这回编译成功了。完成编译后,再启动之前停止了的服务即可,或者直接用”reboot”命令重启服务器。

看来PHP的fileinfo模块编译的时候还真是很吃内存。512M内存的机器确实也能编译,就是有些吃力了。这也是为什么很多一件安装环境、VPS面板安装时都默认不开启fileinfo模块的原因。


  • 除特别注明外,本站内容皆为咸鱼先锋原创,可自由引用,但请注明来源和链接。
  • 本文固定链接为: https://xyuxf.com/archives/1503 - 编译PHP fileinfo模块因内存不足失败记录
  • 欢迎关注 咸鱼先锋 (微信号公众号:xyuxf),获取最新资讯
    喜欢 (0)
    [xwj.xavier@gmail.com]
    分享 (0)
    发表我的评论
    取消评论
    表情 贴图 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址