可锐资源网

技术资源分享平台,提供编程学习、网站建设、脚本开发教程

阿里云2核2G服务器,在宝塔安装fileinfo卡死问题解决

买了个阿里云2核2G的云服务器,部署完程序上传图片失败,查到是fileinfo未安装,想着安装呗,没想到这一折腾又是好几个小时,太扯了,大半夜搞完!!

有搞不定的可以私信我,有偿协助,开发人员一般都能自己搞定。。。

1、服务器配置

阿里云2核2G服务器

2、出现的问题

fileinfo若可用内存小于1G,可能会安装不上!!!

在php8.0以上安装fileinfo会让宝塔卡死,服务器也卡死,只能在阿里云端重启!!!很致命!!!

3、解决方案

配置swap

我一开始从宝塔里安装了linux管理,设置了swap,然后试了不行,后来才知道是因为swap优先级不够导致,如果在linux下设置了,直接在调整下swap优先级,优先级设置方式在下一步。

# 查看当前 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)

这个很重要,我一开始设置了,但是不生效,后来看了下优先级为0,所以要把优先级改好,不然不起作用!!!

# 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实时看内存

我是开两个命令窗口,一个实时监控swap使用情况,如果优先级为0,可能没用到swap就会因为内存不足失败!

# 安装 htop:

sudo apt install htop     # Ubuntu/Debian
# 或
sudo yum install htop     # CentOS

# 然后运行:
htop

在命令行中安装fileinfo(或者直接到宝塔中安装)

我用命令行装的成功了,然后试了在宝塔中也成功,后来其他php版本的fileinfo都试了都没问题。

# 假设 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
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言