在PHP7上安装ONETHINK的问题
OneThink是一个开源的内容管理框架,基于ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制。然而,在PHP7上安装OneThink却遇到了如下函数依赖性检查通不过的问题。
经过初步分析,我们了解到PHP7不再支持以mysql驱动访问数据库,只支持pdo和mysqli。有了这个背景知识,我们知道这里的函数依赖性检查实际上是对PHP7之前的环境,于是解决办法就很简单了,把对”mysql_connect”函数的检查改为对”mysqli_connect”函数的检查就好了。
对安装部分的代码进行分析,发现对应的三个函数在wwwroot/Application/Install/Common/functions.php里,于是作如下修改:
- $items = array(
- array(‘mysqli_connect‘, ‘支持’, ‘success’),
- array(‘file_get_contents‘, ‘支持’, ‘success’),
- array(‘mb_strlen’, ‘支持’, ‘success’),
- );
修改后,再进入安装界面,函数依赖性检查通过了。
接下来还要注意的是在接下来选择连接数据库驱动时一样要选择mysqli,而不是默认的mysql。剩下的安装步骤一切顺利。