宝塔面板安装PHP扩展fileinfo导致IO过高使服务器卡死

662次阅读
没有评论

在Hypver-v虚拟机(Debian 12)上部署一套源码,语言是PHP,依赖fileinfo扩展,因此需要安装一下。通过宝塔面板安装,过了一会卡死了,SSH输入命令都卡死。

在Hypver-v的管理器查看该虚拟的状态,发现CPU使用率极低,故排除CPU性能问题,打开宿主机的“任务管理器“发现资源占用除了某个硬盘的IO读写利用率100%。

分析:该硬盘时HHD的,认为时性能问题,迁移至SSD硬盘上,启动虚拟机,重新执行安fileinfo扩展操作,再次卡死。

最后通过阅读相关资料,发现不是特例,在PHP8.1上安装fileinfo扩展会大概率出现IO占用率100%这一情况。

两个解决方案:

  • 设置swap虚拟内存
  • 手动编译安装

我这里选择了设置swap虚拟内存解决了问题,如果设置了swap虚拟内存还是不能解决,那么可以尝试第二种方案。

手动编译:【其中的版本号数字换成自己的就行了】

cd /www/server/php/82/src/ext/fileinfo/
/www/server/php/82/bin/phpize
./configure --with-php-config=/www/server/php/82/bin/php-config
sed -i "s#CFLAGS = -g -O2#CFLAGS = -std=c99 -g#g" Makefile
make && make install
echo "extension=/www/server/php/82/lib/php/extensions/no-debug-non-zts-20210902/fileinfo.so" >> /www/server/php/82/etc/php.ini
echo "extension=/www/server/php/82/lib/php/extensions/no-debug-non-zts-20210902/fileinfo.so" >> /www/server/php/812/etc/php-cli.ini
/etc/init.d/php-fpm-82 restart

参考:

正文完
 0
wujingquan
版权声明:本站原创文章,由 wujingquan 于2024-06-14发表,共计1009字。
转载说明:Unless otherwise specified, all articles are published by cc-4.0 protocol. Please indicate the source of reprint.
评论(没有评论)