bugfree安装问题

今天踩了一堆的bugfree安装的坑,网上的教程试了一个下午都没成功,脑子都烧掉了。
Windows下xampp(php7)+bugfree3.0安装 (博主安装时是默认安装C盘,装在其他盘需要修改很多源文件路径,非常麻烦!!!)

问题1:安装检查环境时,一直提示未安装mysql。

原因分析:PHP版本太高,PHP7摒弃了一些mysql的方法,把PHP版本降到5就行了。

解决办法1:装一个PHP5到现在的xampp上,可以两个PHP版本交替使用,参考以下链接里的方法(没试过)

https://cloud.tencent.com/developer/ask/194517

解决办法2:卸载现有版本xampp,下载含有php5版本的xampp,重装就完事了,不会有后面那么多麻烦。(万金油方法!!!)

https://www.apachefriends.org/download.html

bugfree安装问题
解决办法3:修改bugfree源文件

然后会出现问题3!!!

找到 bugfree\install\func.inc.php
第30行
($message !== t('bugfree', 'Not Install')) ? mysql_get_client_info() : $message, '5.0+'),
改成 (把 mysql_get_client_info 改成 mysqli_get_client_info
($message !== t('bugfree', 'Not Install')) ? mysqli_get_client_info() : $message, '5.0+'),

找到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_client_info"))
    {
		$test = new mysqli("127.0.0.1","root","","mysql");
        if(!$test){
			echo "database error";
		}else{
			echo "php env successful\n"
			$versionInfo = mysqli_get_client_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');
}

问题2:环境检查时没有BugFile文件

解决方法:在C:\xampp\htdocs目录下创建一个BugFile文件

问题3:bugfree配置页一直处于正在安装

原因分析:在查看N多源代码后怀疑是密码没有成功进入配置项

解决方法:一种是不输入密码,一种是在checkMysql()方法里面修改密码
bugfree安装问题
没输入密码博主没有尝试(当时脑子烧糊了),博主是修改了checkMysqlf方法的密码成123456,然而并没有成功,还是卡住在正在安装那里,最后还是重新安装含有PHP5版本的xampp才成功。

问题4:Access denied for user ‘root’@‘localhost’ (using password: YES)

解决办法:不输入密码就好了,想输入密码的话参考以下博客

https://blog.****.net/qq_36675754/article/details/81381341
https://blog.****.net/m511655654/article/details/82862845

问题5:xampp Apache端口占用

参考以下博客
https://blog.****.net/qq_37221218/article/details/78071885

如果你装过Oracle,SQLserver…等等占用80端口的软件,需要禁止服务!!!

总结:重装xampp就完事了,哪来那么多屁事。