最近新换来一份工作,需要重新搭建bugfree。 为了偷懒 所以选择了xampp+bugfree3.0.4来安装bugfree。 一切顺利!
问题出现在bugfree安装检查环境时,一直提示未安装mysql。 小编百思不得其姐, 最后发现问题出现在xampp安装的时最新的php7.x。 7.x在原来代码的基础上移除了部分mysql的方法 所以检测一直mysql不存在
所以我们需要去修改bugfree的源代码,方法如下:
修改:
bugfree\install\func.inc.php 中的checkMysql方法:
源代码:
function checkMysql()
{
if(function_exists("mysql_get_client_info"))
{
$versionInfo = mysql_get_client_info();
preg_match('/[^\d]*([\d\.]+)[^\d]*/', $versionInfo, $version);
$version = isset($version[1]) ? $version[1] : $versionInfo;
return version_compare($version, '5.0', '>=');
}
return t('bugfree', 'Not Install');
}
修改后的代码:
function checkMysql()
{
if(function_exists("mysqli_get_server_info"))
{
$test = new mysqli("127.0.0.1", "root", "", "mysql");
if(!$test) {
echo"database error";
}else{
echo"php env successful \n";
$versionInfo = mysqli_get_server_info($test);
printf("Server version: %s\n", mysqli_get_server_info($test));
preg_match('/[^\d]*([\d\.]+)[^\d]*/', $versionInfo, $version);
print_r($version);
$version = isset($version[1]) ? $version[1] : $versionInfo;
$test->close();
return version_compare($version, '5.0', '>=');
}
}
return t('bugfree', 'Not Install');
}
还需要将上诉文件中:mysql_get_client_info()改为mysql_get_client_info() 刷新页面即可