windows平台bugfree3.0.3搭建心得(nginx+php+mysql+bugfree+RunHiddenConsole)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows平台bugfree3.0.3搭建心得(nginx+php+mysql+bugfree+RunHiddenConsole)相关的知识,希望对你有一定的参考价值。

    之前没做过windows服务器管理,我的认识还停在个人用户操作系统的认知上,这次搭建bugfree环境,挺多麻烦的;

    在安装之前,我百度的bugfree搭建大多是使用xampp集成环境的安装方法,然后我就照做:

    下载xampp,然后安装到系统c盘下,基本傻瓜式安装,然后打开control-panel,安装apache、mysqlphp在apache里包含了),因为这个系统里已经有mysql服务和apache服务在运行,我也不清楚是谁在用的服务,所以我这里改了apache的端口为81,mysql端口为3308,php.ini和phpMyAdmin配置改了安装路径和mysql端口号,中间总有点乱七八糟的情况发生,总体就是配置没有改好的原因,不再赘述。

    然后依照网上的教程等等,下载bugfree到hotdocs下,启动服务,发现bugfree竟然检测不到mysql?!!!什么鬼?已经有了啊~~

    开始动手找问题 开始以为是配置文件 可能哪里没有修改端口,找了好多配置文件,把所有3306都改成3308,然并卵,但是启动phpMyAdmin是可以用的,我手动创建了一个index.php,里面写了phpinfo和连接mysql的测试函数,找到了问题,这个php连接数据库是连接不上的~,不知道为什么,然后我查看phpinfo发现竟然没有php的mysql这个模块~?只有mysqli和mysqlndt这两个东西,原来xampp自动集成的php版本是7.3最新的,而php确实早就已经在弱化mysql这个模块,默认都是注释掉的,到7.3这个版本ext这个扩展库里压根就没有mysql.dll,但是bugfree3.0.3 采用的mysql检测方法是需要这个扩展才可以的,我尝试使用mysqli和pdo方法,但是bugfree那边怎么都检测不到,所以我意识到集成环境真是不好用,不自由,不能控制软件版本,换套路!

    我决定手动安装软件,使用nginx+php5.6+mysql构建环境,简单的不在赘述,nginx配置:在我本地修改了监听端口 增加了index.php的默认 删除location php的注释,修改页面文件的根路径:

client_max_body_size 10M;

#这个是打开后期上传文件的大小限制,默认不设置是1M还是2M忘了...反正不大就是了

server {
        listen       81;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   C:/program/nginx1.10/html;
            index  index.php index.html index.htm;
        }
      .........此处省略....
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  C:/program/nginx1.10/html$fastcgi_script_name;
            include        fastcgi_params;
        }

    php安装,就是解压过程,php.ini需要打开mysql扩展php_mysql.dll,其他的因为后期要导入数据库,所以修改了上传文件的大小限制upload_file_xxxx 和post_max_size俩参数的值;

    mysql安装采用了默认端口3306,也基本是傻瓜式安装,配置个密码就完事儿了;

    3306服务运行正常;

    下载RunHiddenConsole.exe,就是后台运行的一个控制台,复制两份,分别放在nginx和php的目录下

    创建文件start.bat和shutdown.bat放在nginx目录下,start内容为:

@echo off
echo start_nginx.bat
echo Starting PHP FastCGI...
cd C:/program/php5.6
RunHiddenConsole php-cgi.exe -b 127.0.0.1:9000 -c php.ini
echo Starting nginx...
cd C:/program/nginx1.10
RunHiddenConsole nginx.exe
Exit

------------------------------华丽的分割线---------------------------

    shutdown内容为:

@echo off
echo stop_nginx.bat
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit


注:tasklist是类似linux ps的命令,taskkill就是kill进程的命令,这里各位需要修改的就是nginx和php的路径,千万别忘了这个

RunHiddenConsole.exe
一定要放在nginx和php的目录里~~否则启动不了哦~
现在就测试一下php和mysql的连接吧 在nginx里~,index.php内容:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test mysql+php+nginx</title>
</head>
<body>
<?php
$link = mysql_connect("localhost","root","123456");
if($link){
echo "success!";
}else{
echo "fail!";
}
?>
<br>
<?php
phpinfo();
?>
</body>
</html>

我这里测试没问题 success!有问题的同学再检查一下php和mysql的连接 看一下phpinfo是否有mysql和配置的是否有问题,之后 解压phpMyAdmin放到web的root下,这是用来管理数据库的,我自己下载的默认就是认证模式的,不是的将配置文件config.inc.php的配置修改一下,将authxxxx 改成cookie模式,用户名密码是mysql的用户和密码

接下来下载bugfree,将bugfree解压到页面文件根目录下,创建一个文件夹BugFile在同级目录下,然后配置合适的权限,注意,windows平台使用nginx的web和bugfree的时候 一定要修改bugfree的一个配置 ,否则路径是类似这样的C:\program\nginx\html/bugfree/xxxx/xxx 斜杠是俩方向,特别坑,我也是弄了半天不会,请教人家php开发的才知道的,原因还是不懂,但是会修改,将/protected/config/main.php代码中的这部分注释掉:(/* xxx */多行注释)

‘urlManager‘ => 
array (
‘urlFormat‘ => ‘path‘,
‘showScriptName‘ => false,
‘rules‘ => 
array (
‘<type:\\w+>/<id:\\d+>/<action:\\w+>‘ => ‘info/edit‘,
‘<type:\\w+>/list/<product_id:\\d+>‘ => ‘info/index‘,
‘<type:\\w+>/<id:\\d+>‘ => ‘info/edit‘,
‘<controller:\\w+>/view/<id:\\d+>‘ => ‘<controller>/view‘,
‘<controller:\\w+>/<id:\\d+>‘ => ‘<controller>/view‘,
‘<controller:\\w+>/<action:\\w+>/<id:\\d+>‘ => ‘<controller>/<action>‘,
‘<controller:\\w+>/<action:\\w+>‘ => ‘<controller>/<action>‘,
),
),

然后就可以访问啦~,如果出现了访问bugfree的index.php跳转index.php/site/login 404的情况,就这么解决~!

导入数据库的时候有坑的,如果bugfree的导出数据库是zip等压缩格式,当导入不进去的时候 尝试解压掉这个文件 ,然后用mysql的客户端 source进去 (大小受限制的时候 ,修改nginx的配置 见上方,php的两个参数配置,见上方 就ok了),否则总是失败

    daily english:

    You may have to fight a battle more than once to win it~

    想要赢得一场战争,你需要付出更多次的战斗

本文出自 “FOR THE DREAM” 博客,请务必保留此出处http://forthedream.blog.51cto.com/11242688/1880739

以上是关于windows平台bugfree3.0.3搭建心得(nginx+php+mysql+bugfree+RunHiddenConsole)的主要内容,如果未能解决你的问题,请参考以下文章

使用hexo+GitHub搭建个人博客的心得(含教程)

基于Android平台的汽车租赁平台项目的数据库设计心得

linphone-sdk windows端VS编译心得

宜搭客户说宜搭帮助教育局搭建教育管理平台

Flask框架的学习与实战:开发环境搭建

Flask框架的学习与实战:开发环境搭建