共计 3665 个字符,预计需要花费 10 分钟才能阅读完成。
windows 平台 bugfree3.0.3 搭建心得是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
之前没做过 windows 服务器管理,我的认识还停在个人用户操作系统的认知上,这次搭建 bugfree 环境,挺多麻烦的;
在安装之前,我百度的 bugfree 搭建大多是使用 xampp 集成环境的安装方法,然后我就照做:
下载 xampp,然后安装到系统 c 盘下,基本傻瓜式安装,然后打开 control-panel,安装 apache、mysql(php 在 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!?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 了),否则总是失败。
关于 windows 平台 bugfree3.0.3 搭建心得是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注丸趣 TV 行业资讯频道了解更多相关知识。