共計 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 行業資訊頻道了解更多相關知識。