|
1、下載APMServ5.1.2.rar并解壓縮![]() 2、打開(kāi)APMServ5.1.2主程序APMServ.exe ![]() 3、虛擬主機(jī)配置(看不清可點(diǎn)擊放大) ![]() 4、虛擬目錄配置(看不清可點(diǎn)擊放大) |

1、問(wèn):如何將舊版本的《APMServ 5.0.4增強(qiáng)版》中的網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)資料遷移到《APMServ 5.1.2》中?
答:將《APMServ 5.1.2》解壓縮到另外一個(gè)目錄,如果舊版本的《APMServ 5.0.4增強(qiáng)版》處于啟動(dòng)狀態(tài),先點(diǎn)擊舊版APMServ.exe中的停止按鈕,然后將舊版本www網(wǎng)頁(yè)目錄下的除phpmyadmin目錄以外的目錄文件全部復(fù)制到5.1.2版的www/htdocs目錄下,將舊版本MySQL/data數(shù)據(jù)庫(kù)目錄下的目錄文件全部復(fù)制到5.1.2版的MySQL4.0/data目錄下,確認(rèn)在5.1.2版中能夠正常訪問(wèn)這些網(wǎng)頁(yè)和數(shù)據(jù)庫(kù)后,刪除舊版本目錄即可。
2、問(wèn):“80、443端口被占用,Apache2無(wú)法啟動(dòng)。”是怎么回事?
答:如果您裝有IIS或其它HTTP服務(wù)器軟件并啟動(dòng),將占用80端口(如果IIS開(kāi)啟SSL支持,還會(huì)占用443端口),可以將IIS更改一個(gè)端口,或者在APMServ中更改Apache的端口。
3、問(wèn):為什么啟動(dòng)APMServ后,但在Windows的服務(wù)列表中沒(méi)有“Apache2”一項(xiàng)或“Apache2”處于停止?fàn)顟B(tài)?
答:請(qǐng)不要將APMServ放在含有中文的路徑中,因?yàn)橐苑?wù)模式啟動(dòng)的Apache不支持中文目錄,例如“D:/網(wǎng)站服務(wù)器/APMServ/”會(huì)導(dǎo)致Apache無(wú)法啟動(dòng)。同理,添加虛擬主機(jī)、虛擬目錄時(shí),路徑中也不能含有中文。
4、問(wèn):我用MySQL5.1新建數(shù)據(jù)庫(kù)和導(dǎo)入原來(lái)MySQL4.0.x的數(shù)據(jù)全是亂碼,就像這樣“?????????????????????”,全是問(wèn)號(hào),如何解決?
答:從MySQL4.1版本開(kāi)始,MySQL增加對(duì)多國(guó)語(yǔ)言、多字符集的支持,APMServ使用了中文字符集GBK。而舊的MySQL4.0.x、MySQL3.x版本一般默認(rèn)的字符集是latin1,以latin1編碼進(jìn)行儲(chǔ)存,由于只支持單字符集,以非中文編碼的latin1編碼保存中文數(shù)據(jù)并不會(huì)出現(xiàn)亂碼。
舊MySQL4.0.x數(shù)據(jù)導(dǎo)入MySQL4.1.x或5.x等支持多字符集的MySQL高版本數(shù)據(jù)庫(kù)后,非中文編碼的latin1編碼保存的數(shù)據(jù)就會(huì)顯示成“??????????????”。解決方法有很種,你可以在百度、Google搜索“MySQL4.1 字符集”或“MySQL5 字符集”了解相關(guān)資料。這里給你一種簡(jiǎn)便的方法,打開(kāi)php程序中負(fù)責(zé)連接MySQL數(shù)據(jù)庫(kù)的文件(例如conn.php),增加一行mysql_query('set character set GBK');即可。例如:
$conn=mysql_connect ("127.0.0.1", "root", "");
mysql_select_db("database"); //database是數(shù)據(jù)庫(kù)名
mysql_query('set character set GBK');
附:Discuz!官方論壇有一篇針對(duì)Discuz!用戶的“關(guān)于轉(zhuǎn)換或者升級(jí)以后出現(xiàn)亂碼情況的說(shuō)明”,對(duì)MySQL4.1及更高版本的字符集問(wèn)題有詳細(xì)地介紹,你可以參考一下。
http://www.discuz.NET/viewthread.php?tid=201826
5、問(wèn):為什么服務(wù)器在連續(xù)運(yùn)行多天后或訪問(wèn)峰值后,進(jìn)程中的一個(gè)Apache.exe占用內(nèi)存上百兆不減少?
答:用記事本打開(kāi)apache2/conf/httpd.conf,查找MaxRequestsPerChild,將MaxRequestsPerChild 0改成MaxRequestsPerChild 50即可。
通常在“Windows任務(wù)管理器-進(jìn)程”中可以看到兩個(gè)apache.exe進(jìn)程,一個(gè)是父進(jìn)程、一個(gè)是子進(jìn)程,父進(jìn)程接到訪問(wèn)請(qǐng)求后,將請(qǐng)求交由子進(jìn)程處理。MaxRequestsPerChild這個(gè)指令設(shè)定一個(gè)獨(dú)立的子進(jìn)程將能處理的請(qǐng)求數(shù)量。在處理“MaxRequestsPerChild 數(shù)字”個(gè)請(qǐng)求之后,子進(jìn)程將會(huì)被父進(jìn)程終止,這時(shí)候子進(jìn)程占用的內(nèi)存就會(huì)釋放,如果再有訪問(wèn)請(qǐng)求,父進(jìn)程會(huì)重新產(chǎn)生子進(jìn)程進(jìn)行處理。
如果MaxRequestsPerChild缺省設(shè)為0(無(wú)限)或較大的數(shù)字(例如10000以上)可以使每個(gè)子進(jìn)程處理更多的請(qǐng)求,不會(huì)因?yàn)椴粩嘟K止、啟動(dòng)子進(jìn)程降低訪問(wèn)效率,但MaxRequestsPerChild設(shè)置為0時(shí),如果占用了200~300M內(nèi)存,即使負(fù)載下來(lái)時(shí)占用的內(nèi)存也不會(huì)減少。內(nèi)存較大的服務(wù)器可以設(shè)置為0或較大的數(shù)字。內(nèi)存較小的服務(wù)器不妨設(shè)置成30、50、100,以防內(nèi)存溢出。
6、問(wèn):為什么某些在老版本php中編寫(xiě)的php程序,在APMServ中不能傳遞變量?
答:php開(kāi)發(fā)組基于安全性考慮,get、post、session在php 4.2.0以及后續(xù)版本中,自動(dòng)全局變量默認(rèn)是關(guān)閉的,所以要從面取得提交過(guò)來(lái)得變量要使用$_GET['foo']、$_POST['foo']、$_SESSION['foo']來(lái)得到,而在之前的php版本中直接就可以取得變量。這就造成了某些在舊版本php中編寫(xiě)的php程序,在新版本php中不能傳遞變量(APMServ 5.1.2中的php版本為最新的5.1.2)。
當(dāng)然您也可以修改自動(dòng)全局變量為開(kāi)(用記事本打開(kāi)APMServ/php/php.ini-dist,修改register_globals=Off為register_globals=On)。考慮到安全性與兼容性,還是強(qiáng)迫自己按照php新版本的要求,熟悉新的寫(xiě)法比較好。
《php手冊(cè)》自動(dòng)全局變量的相關(guān)說(shuō)明請(qǐng)見(jiàn):
http://cn.php.NET/manual/zh/language.variables.predefined.php
《php手冊(cè)》打開(kāi)自動(dòng)全局變量可能導(dǎo)致的安全性問(wèn)題請(qǐng)見(jiàn):
http://cn.php.NET/manual/zh/security.globals.php
php技術(shù):《APMServ 5.1.2》使用圖解,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。