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

來源:互聯網
上載者:User

標籤:bugfree nginx 404

    之前沒做過windows伺服器管理,我的認識還停在個人使用者作業系統的認知上,這次搭建bugfree環境,挺多麻煩的;

    在安裝之前,我百度的bugfree搭建大多是使用xamppIntegration Environment的安裝方法,然後我就照做:

    下載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那邊怎麼都檢測不到,所以我意識到Integration Environment真是不好用,不自由,不能控制軟體版本,換套路!

    我決定手動安裝軟體,使用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 offecho start_nginx.batecho Starting PHP FastCGI...cd C:/program/php5.6RunHiddenConsole php-cgi.exe -b 127.0.0.1:9000 -c php.iniecho Starting nginx...cd C:/program/nginx1.10RunHiddenConsole nginx.exeExit

------------------------------華麗的分割線---------------------------

    shutdown內容為:

@echo offecho stop_nginx.batecho Stopping nginx...taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit


註: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><?phpphpinfo();?></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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.