今天在尝试安装一款PHP程序时,提示缺少fileinfo模块,但是我的PHP是LAMP一键包中的,懒得再重新编译,于是想办法将fileinfo模块作为extension拓展加入了PHP中。
PHP程序具体的出错信息为:
PHP function mime_content_type() is missing, try enabling fileinfo module.
我安装的LAMP来自于OneInStack一件包,不知为何编译时默认没有开启fileinfo:
于是想到了通过extension扩展的方式,加入fileinfo模块。
找到php的安装源
我在/lnmp/src/
目录下找到了php-7.1.11.tar.gz
,将其解压后,我们进入源码目录下的fileinfo目录:
cd /lnmp/src/php-7.1.11/ext/fileinfo/
然后执行命令:
/usr/local/php/bin/phpize
会返回如下的执行结果:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
关于phpsize:http://php.net/manual/en/install.pecl.phpize.php
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize。
编译fileinfo
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
会返回如下的执行结果:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
即表示编译成功。
在PHP中开启
我们找到/usr/local/php/etc/php.ini
,加入这一行:
extension=fileinfo.so
然后重启PHP,我们就会发现已经开启fileinfo了:
4 comments
[...]找到php的安装源我在/lnmp/src/目录下找到了php-7.1.11.tar.gz,将其解压后,我们进入源码目录下的fileinfo目录:cd /lnmp/src/php-7.1.11/ext/fileinfo/然后执行命令:/usr/local/php/bin/phpize会返回如下的执行结果:Configuring for:PHP Api Version: 2004122[...]
[...]如果你也遇到这一问题,可以参考:《手动为已编译的PHP加入fileinfo扩展模块》[...]
[...]如果你也遇到这一问题,可以参考:《手动为已编译的PHP加入fileinfo扩展模块》[...]
[...]如果你也遇到这一问题,可以参考:《手动为已编译的PHP加入fileinfo扩展模块》[...]