You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器报错Call to undefined function finfo_open(),本地运行正常求助

解决 Call to undefined function finfo_open() 服务器部署错误

嘿,这个问题其实很典型——你的服务器PHP环境没启用fileinfo扩展,而本地环境默认已经开启了,所以才会出现本地正常运行、服务器报错的情况。finfo_open()这类函数完全依赖这个扩展,咱们一步步搞定它:

第一步:确认服务器是否安装/启用fileinfo扩展

你可以用两种方式快速检查:

  • 命令行方式:登录服务器,执行 php -m,查看输出列表里有没有fileinfo这一项。没有的话就说明没安装或未启用。
  • 网页方式:在服务器上临时创建一个phpinfo.php文件,内容为<?php phpinfo(); ?>,访问该页面后搜索fileinfo,找不到就代表未启用。

第二步:启用fileinfo扩展(分不同环境操作)

Linux服务器(Ubuntu/Debian)

直接通过包管理器安装扩展:

sudo apt-get install php-fileinfo

安装完成后重启Web服务:

# Apache用户执行
sudo systemctl restart apache2
# Nginx+PHP-FPM用户执行
sudo systemctl restart php-fpm
sudo systemctl restart nginx

Linux服务器(CentOS/RHEL)

用yum命令安装扩展:

sudo yum install php-fileinfo

同样需要重启服务:

# Apache用户执行
sudo systemctl restart httpd
# Nginx+PHP-FPM用户执行
sudo systemctl restart php-fpm
sudo systemctl restart nginx

Windows服务器

找到PHP安装目录下的php.ini文件,打开后找到这一行:

;extension=fileinfo

把行首的分号;删除,修改为:

extension=fileinfo

最后重启IIS或Apache服务即可。

虚拟主机面板(宝塔、cPanel等)

  • 宝塔面板:进入PHP管理页面,找到「扩展」选项,找到fileinfo点击启用,然后重启PHP服务。
  • cPanel:进入「Select PHP Version」,在扩展列表里勾选fileinfo,保存设置即可生效。

第三步:验证修复效果

再次用第一步的方法检查fileinfo是否出现在已启用扩展列表中,然后重新运行你的代码,这个错误应该就消失了。

补充说明:如果你的服务器PHP版本低于5.3.0,可能需要手动编译安装fileinfo,但现在主流PHP版本都已内置该扩展,只是默认未启用,所以大概率不需要走编译流程。

内容的提问来源于stack exchange,提问作者kunaljagtap19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:37:50