2015-09-27 25 views
0

我有一个问题让文件信息工作。它在PHP.ini中启用,但是当我运行一个php -m时,它没有被列出。我有PHP 5.5所以它应该是标准的,不需要pecl。我是一个新手和困惑,所以请亲切。文件信息PHP错误 - 类'finfo'未找到,但该模块在php.ini

php -m 

[PHP Modules] 
bcmath 
calendar 
Core 
ctype 
curl 
date 
dom 
ereg 
exif 
filter 
ftp 
gd 
gettext 
hash 
iconv 
imagick 
imap 
ionCube Loader 
json 
libxml 
mbstring 
mcrypt 
mysql 
openssl 
pcre 
Phar 
posix 
Reflection 
session 
SimpleXML 
sockets 
SPL 
sqlite3 
standard 
tokenizer 
XCache 
XCache Cacher 
xml 
xmlreader 
xmlwriter 
zip 
zlib 

[Zend Modules] 
XCache 
XCache Cacher 
the ionCube PHP Loader 

在我的php.ini

extension = "fileinfo.so" 
+0

检查'php.ini'实际使用的是什么。它可能不是你所想的那个。 – CBroe

+0

我认为你应该找到正确的php.ini尝试运行php --ini – fefe

+0

默认情况下,这个扩展从5.3开始内置到PHP中,没有'so'文件需要加载。您是自己构建PHP还是从包管理器安装?在你的PHP信息中'configure command'的输出是否显示'--disable-fileinfo',这会使它不能被包含在PHP中,在这种情况下你需要编译和安装PECL模块。 – drew010

回答

2

默认情况下,因为5.3本扩充功能内置于PHP,这意味着没有so加载。

由于它没有显示为可用模块,因此可能意味着PHP是使用--disable-fileinfo开关(查看phpinfo中的配置命令输出)编译的,该开关将禁用它包含在PHP中。

如果使用禁用finfo选项编译它,您将需要重新编译PHP而不使用该选项,或编译并安装PECL模块,然后在php.ini中动态加载扩展。

相关问题