apache服务器yii2报The fileinfo PHP extension is not installed解决思路
这个问题整整困扰了我两天,今天终于搞定了。记录一下。
背景是这样的,我呢,在centos服务器上安装了lamp环境,其中php是5.3.3,在用composer安装yii2的时候,出现了某些yii2插件需要php7以上才支持。
于是乎,纠结了一下,是改composer.json中的配置,适应低版本php还是升级php呢?最后的决定是升级php到7。
在apache同一级目录下新建了个php7文件夹,详见前面这篇《升级lamp中php5.6到php7.0过程》。
安装好之后,yii2顺利部署调试好。
然后开发了上传banner图的模块。当测试上传的时候遇到问题了,提示php fileinfo extension must be installed。
围绕这个问题查了很多网络上的资料,最后得出的结论就是php没有加载fileinfo这个扩展,或者没有安装这个扩展,或者php.ini没有开启这个扩展。
find / -name fileinfo.so 发现这个扩展是有的,然后就使用服务器上原有的fileinfo.so进行安装,结果不行。
后来查了资料说是要在安装包文件ext/fileinfo底下进行编译安装。
于是去尝试,中间还使用了pecl安装,这种方法貌似已经废弃了。不可避免的经历了安装pecl的过程。为了满足在安装包底下安装的需求,我重新下载了php7安装包,记得好像是从香港那个镜像服务器下载的,先下载到本地,然后上传到服务器,新建tmp文件夹,解压,进入ext/fileinfo文件夹。
最后回到大多数人提到的phpize安装方法,步骤简单。
过程如下,
phpize,由于服务器存在两个php,一个5.3.3,一个7.0.2的,因此在运行phpize命令的时候,显示的是2009版,版本低,因此在重新编译安装php7之后,添加了一个别名alias php=/usr/local/php7/bin/phpize,此时显示的是2015了,这一步ok了。
在ext/phpize文件夹下运行phpize。
然后运行./configure --with-php-config=/usr/local/php7/bin/php-config --enable-fileinfo(这个是看有些人加了,因为怀疑可能是被禁用所以也给加上了)。
运行完毕,这中间是一个配置的shell脚本。有可能出错,如果出错不被发现继续下一步,编译安装不成功,还是无法正常运行的。
运行完毕,运行make & make install,如果前面有过make的经历,还需要make clean一下,不然还是不能成功。如此完毕,正常的话,最后一步make test就可以使用了。
在这一步从phpize到最后,尝试了不下十遍,最终通过php -m查的扩展总是没增加,而且通过php -i | grep php.ini,当然在php.ini中要加入extension=fileinfo.so,另外中间还提示system以及另外一个函数被禁用,在php.ini当中把禁用函数删掉即可。
disable_functions = exec,chroot,chgrp,chown,proc_get_status,ini_alter,ini_alter,ini_restore
而且提示动态库加载失败,因为有一个变量未定义。其实还是因为编译安装这个扩展中间出了错导致的。因此保证编译安装绝对无误,就不会存在任何问题。
文字写的零碎,的确是因为初学,各种问题零零碎碎,无法很好的总结,踩过的坑记下,另外回顾一下加深印象。
apache服务器yii2报The fileinfo PHP extension is not installed解决思路的更多相关文章
- yii uploadfile 错误提示: fileinfo php extension is not installed
rule规则里面增加 'checkExtensionByMimeType'=>false,
- Eclipse报Caused by: java.lang.OutOfMemoryError: PermGen space解决思路
一.修改tomcat/bin目录下的catalina.bat 在“rem ----- Execute The Requested Command ----------------------”下加入 ...
- 关于apache服务器加载so的报错
早上突然发现我的虚拟机上的WEB应用访问不了了,后台检查httpd服务,无法启动,出现一行提示: ①starting httpd: httpd: Syntax error on line 163 of ...
- Apache服务器下phalcon项目报Mod-Rewrite is not enabled问题
问题如图: 项目已经按照官网的教程修改了.htaccess文件,仍旧报此错误,判断可能是apache未添加mod_rewrite,通过查询资料,经以下两步解决此问题: 1.执行sudo a2enmod ...
- apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for
apache服务器启动时提示httpd: apr_sockaddr_info_get() failed for 在RedHat Linux 5 与 CentOS 5服务器上配置好apache后,启动或 ...
- php开发环境搭建——laravel框架,apache服务器,git版本控制
本文主要阐述做项目前的开发环境安装——后端为php,前端采用grunt进行自动化构建.具体介绍了windows平台下采用apache运行php的环境搭建,以及git工具安装.写得有点粗糙,但过程完整, ...
- 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问
补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许19 ...
- phpstudy如何安装景安ssl证书 window下apache服务器网站https访问
1. 下载景安免费证书 https://www.zzidc.com/help/helpDetail?id=555 2.文件解压上传至服务器,位置自己决定 3. 调整apache配置 景安原文链接:ht ...
- apache无法启动报错No space left on device
apache无法启动报错No space left on device 故障现象:apache无法启动ipcs信号量很多 # service httpd startStarting httpd : [ ...
随机推荐
- Collection List区别
Collection是无序的,比如一大群人在广场上,你不可能说某某人是第一个,某某人是第二个 List是有序的,比如一群人从高到矮排了队,你就能说这人是第一个,这人是最后一个 因此Collection ...
- 使用pyquery是遇到的一个403的问题
在网上爬虫时,本地windows下运行pyquery代码正常,但是在linux下运行时一直报错 403 Forbidden.刚开始的代码如下 from pyquery import PyQuery a ...
- String、StringBuffer与StringBuilder比较
关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较: StringBuilder > St ...
- Atcoder arc080E Young Maids(线段树+优先队列)
给出一个n排列,每次可以选择相邻的两个数字放在新的排列首部,问最后形成的新的排列字典序最小是? 考虑新排列的第一个数字,则应是下标为奇数的最小数,下标不妨设为i.第二个数字应该下标大于i且为偶数的最小 ...
- BZOJ3246 IOI2013Dreaming
如果将森林里每棵树都各自看做一个点,那么最后所连成的树应该是一颗菊花,否则将叶子节点父亲改为根不会更劣. 对于每个点所代表的树,其和根节点相连的点应该是到其他点距离最大值最小的点.这个点显然是直径的中 ...
- 【原创】centos6创建sftp账号,并设置权限和目录
网上找了个教程,折腾好长时间都不行,最后往死里整,终于弄好了,记录一下. 系统环境:Centos6.9 64bit 完美解决: Permission denied (publickey,gssapi- ...
- ibatis解决sql注入问题
原文: http://blog.csdn.net/scorpio3k/article/details/7610973 对于ibaits参数引用可以使用#和$两种写法,其中#写法会采用预编译方式,将转义 ...
- linq 获取实体列表中的某个字段返回ilist<string>
var list = list.Select(t => t.Field<string>("列名")).ToList(); var list = list.Se ...
- 【BZOJ2830/洛谷3830】随机树(动态规划)
[BZOJ2830/洛谷3830]随机树(动态规划) 题面 洛谷 题解 先考虑第一问. 第一问的答案显然就是所有情况下所有点的深度的平均数. 考虑新加入的两个点,一定会删去某个叶子,然后新加入两个深度 ...
- 【BZOJ3294】放棋子(动态规划,容斥,组合数学)
[BZOJ3294]放棋子(动态规划,容斥,组合数学) 题面 BZOJ 洛谷 题解 如果某一行某一列被某一种颜色给占了,那么在考虑其他行的时候可以直接把这些行和这些列给丢掉. 那么我们就可以写出一个\ ...