1、下载APMServ5.1.2.rar并解压缩
2、打开APMServ5.1.2主程序APMServ.exe
3、虚拟主机配置(看不清可点击放大)
4、虚拟目录配置(看不清可点击放大)
|
1、問:如何將舊版的《APMServ 5.0.4增強版》中的網頁與資料庫資料移轉到《APMServ 5.1.2》? 答:將《APMServ 5.1.2》解壓縮到另一個目錄,如果舊版的《APMServ 5.0.4增強版》處於啟動狀態,先點擊舊版APMServ.exe中的停止按鈕,然後將舊版www網頁目錄下的
除phpmyadmin目錄以外的目錄檔案全部複製到5.1.2版的wwwhtdocs目錄下,將舊版MySQLdata資料庫目錄下的目錄檔案全部複製到5.1.2版的MySQL4.0data目錄下,確認在5.1.2版中能夠正常存取這些網頁和資料庫後,刪除舊版目錄即可。
2、問:「80、443埠被佔用,Apache2無法啟動。」是怎麼回事? 答:如果您裝有IIS或其它HTTP伺服器軟體並啟動,將佔用80端口(如果IIS開啟SSL支持,還會佔用443端口),可以將IIS更改一個端口,或者在APMServ中更改Apache的連接埠。
3、問:為什麼啟動APMServ後,但在Windows的服務清單中沒有「Apache2」一項或「Apache2」處於停止狀態? 答:請不要將APMServ放在含有中文的路徑中,因為以服務模式啟動的Apache不支援中文目錄,例如「D:網站伺服器APMServ」會導致Apache無法啟動。同理,當新增虛擬主機、虛擬目錄時,路徑中也不能含有中文。
4、問:我用MySQL5.1新建資料庫和導入原來MySQL4.0.x的資料全是亂碼,就像這樣「???????????? ?????????”,全是問號,如何解決? 答:從MySQL4.1版本開始,MySQL增加對多國語言、多字元集的支持,APMServ使用了中文字元集GBK。而舊的MySQL4.0.x、MySQL3.x版本一般預設的字元集是latin1,以latin1編碼儲存,由於只支援單字集,以非中文編碼的latin1編碼保存中文資料不會出現亂碼。
舊MySQL4.0.x資料匯入MySQL4.1.x或5.x等支援多字元集的MySQL高版資料庫後,非中文編碼的latin1編碼儲存的資料就會顯示成「???? ??????????」。解決方法有很種,你可以在百度、Google搜尋「MySQL4.1 字元集」或「MySQL5 字元集」了解相關資料。這裡給你一個簡單的方法,打開PHP程式中負責連接MySQL資料庫的檔案(例如conn.php),增加一行mysql_query('set character set GBK');就好。例如:
$conn=mysql_connect ("127.0.0.1", "root", "");
mysql_select_db("database"); //database是資料庫名稱
mysql_query('set character set GBK ');
附:Discuz!官方論壇有一篇針對Discuz!用戶的“關於轉換或升級以後出現亂碼情況的說明”,對MySQL4.1及更高版本的字符集問題有詳細地介紹,你可以參考一下。
http://www.discuz.net/viewthread.php?tid=201826 5、問:為什麼伺服器在連續運行多天後或訪問峰值後,進程中的一個Apache.exe佔用記憶體上百兆不減少? 答:用記事本開啟apache2confhttpd.conf,找出MaxRequestsPerChild,將MaxRequestsPerChild 0改成MaxRequestsPerChild 50。
通常在「Windows任務管理器-進程」中可以看到兩個apache.exe進程,一個是父進程、一個是子進程,父進程接到訪問請求後,將請求交由子進程處理。 MaxRequestsPerChild這個指令設定一個獨立的子行程將能處理的請求數量。在處理「MaxRequestsPerChild 數字」個請求之後,子進程將會被父進程終止,這時候子進程佔用的記憶體就會釋放,如果再有存取請求,父進程會重新產生子進程進行處理。
如果MaxRequestsPerChild缺省設為0(無限)或較大的數字(例如10000以上)可以使每個子進程處理更多的請求,不會因為不斷終止、啟動子進程降低存取效率,但MaxRequestsPerChild設定為0時,如果佔用了200~300M內存,即使負載下來時佔用的內存也不會減少。記憶體較大的伺服器可以設定為0或較大的數字。記憶體較小的伺服器不妨設定成30、50、100,以防記憶體溢出。
6、問:為什麼某些在舊版PHP中寫的PHP程序,在APMServ中不能傳遞變數? 答:PHP開發組基於安全性考慮,get、post、session在PHP 4.2.0以及後續版本中,自動全域變數預設是關閉的,所以要從上一頁取得提交來變數要使用$_GET['foo']、$_POST['foo']、$_SESSION['foo']來得到,而在先前的PHP版本中直接就可以取得變數。這就造成了某些在舊版PHP中編寫的PHP程序,在新版本PHP中無法傳遞變數(APMServ 5.1.2中的PHP版本為最新的5.1.2)。
當然您也可以修改自動全域變數為開(用記事本開啟APMServPHPphp.ini-dist,修改register_globals=Off為register_globals=On)。考慮到安全性與相容性,還是強迫自己按照PHP新版本的要求,熟悉新的寫法比較好。
《PHP手冊》自動全域變數的相關說明請見:
http://cn.php.net/manual/zh/language.variables.predefined.php
《PHP手冊》開啟全域全域全域全域全球自動全域全域全域「PHP手冊」開啟全域全域全域全域全域域自動全域全域性「PHP手冊」開啟全域全域全域全域全域域自動全域全域性「PHP手冊」。變數可能導致的安全性問題請見:
http://cn.php.net/manual/zh/security.globals.php
http://www.bkjia.com/PHPjc/316976.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/316976.htmlTechArticle1、下載APMServ5.1.2.rar並解壓縮2、開啟APMServ5.1.2主程式APMServ.exe 3、APMServ.exe 3、APMServ.虛擬主機配置(看不清楚可點擊放大) 4、虛擬目錄配置(看不清楚可點擊放大...