买了个阿里云2核2G的云服务器,部署完程序上传图片失败,查到是fileinfo未安装,想着安装呗,没想到这一折腾又是好几个小时,太扯了,大半夜搞完!!
有搞不定的可以加我微信,有偿协助,开发人员一般都能自己搞定。。。
1、服务器配置
阿里云2核2G服务器
2、出现的问题
在php8.0以上安装fileinfo会让宝塔卡死,服务器也卡死,只能在阿里云端重启!!!很致命!!!
3、解决方案
配置swap
1 2 3 4 5 6 7 8 9 10 |
# 查看当前 Swap free -m # 如果 swap 为 0,建议添加 1G~2G 的 swap(以下示例添加 3G): dd if=/dev/zero of=/swapfile bs=1M count=3072 chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile swap swap defaults 0 0' >> /etc/fstab |
调高swap使用优先级(swappiness)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# 1. 查看当前 swappiness 值 cat /proc/sys/vm/swappiness # 默认可能是 60 或更低,表示内存用得差不多才会用 swap。 # 2. 临时修改为更积极的值(推荐 90) sudo sysctl vm.swappiness=90 # 这表示:内存使用超过 10% 左右时,系统就会考虑把部分内容写入 Swap,防止内存突然爆掉。 # 3. 永久修改(写入配置) echo 'vm.swappiness=90' | sudo tee -a /etc/sysctl.conf # 然后使配置生效: sudo sysctl -p |
补充建议:用 htop
或 top
实时看内存
1 2 3 4 5 6 7 8 9 |
# 安装 htop: sudo apt install htop # Ubuntu/Debian # 或 sudo yum install htop # CentOS # 然后运行: htop |
在命令行中安装fileinfo(或者直接到宝塔中安装)
1 2 3 4 5 6 7 8 9 10 11 |
# 假设 php 版本是 7.4,进入源码目录 cd /www/server/php/74/src/ext/fileinfo /www/server/php/74/bin/phpize ./configure --with-php-config=/www/server/php/74/bin/php-config make && make install # 然后编辑php.ini添加: extension = fileinfo.so # 重启PHP服务 bt restart |
