發(fā)布時間:2021-05-04
欄目:其他
大家好,現(xiàn)在我來跟大家分享的是PHP在金山游戲運營中的,包括團隊開發(fā),以及像系統(tǒng)結(jié)構(gòu),設(shè)計,運營平臺這些信息。我議題主要有兩個,一個是在金山游戲官方網(wǎng)站做的一些應(yīng)用,還有在金山游戲運營系統(tǒng)Keyes中的應(yīng)用。金山官方網(wǎng)站包括有客服,一些問問,知道等等,包括跟游戲相關(guān)的一些產(chǎn)品,這塊主要采用Linux系統(tǒng),64位,PHP是5.2版本。
我們首先來看團隊協(xié)作開發(fā),我們肯定遇到過一個情況,在我們現(xiàn)在很多項目當(dāng)中都是多個人從事開發(fā)一個項目,又涉及到開發(fā)環(huán)境和測試環(huán)境不一樣。我們PHP全部利用在Windows上利用,但是很多人在Linux開發(fā)代碼,我改完某一個功能,想馬上看一下執(zhí)行結(jié)果,這時在Windows上也可以配相應(yīng)平臺,但是我們還開發(fā)一些像PHP擴展去操作一些,假如分布式圖片處理,一些緩存系統(tǒng),這些是針對Linux下PHP進行一些PHP擴展開發(fā)。所以PHPweb批量上傳內(nèi)容,在Windows平臺是沒法使用的。
這塊希望寫一個程序能夠馬上看到,但是我們不需要寫一個程序傳到服務(wù)器上再測試,就太慢了。如果同一個服務(wù)器上有多少人同時開發(fā),你傳上去可能會覆蓋別人的程序PHPweb批量添加產(chǎn)品,就沒有辦法做到控制。我們可以看到,我們使用是程序員A的 Windows開發(fā)環(huán)境PC機模式,我們從上面可以看到,假如是程序員A和B都在Windows上開發(fā)代碼,我們可以把Nginx裝在Windows上,我們在Windows開發(fā)程序,每個程序員進行測試,測試完之后可以進行調(diào)試,這樣執(zhí)行的結(jié)果還是用Linux下進行執(zhí)行。
PHPweb批量更新文章從這個流程可以看到,首先是一個程序員他獲得一個項目版本,上來做一些修改,修改完之后可以在調(diào)試采用同一個Linux測試服務(wù)器。他測試完成之后,在本級測試沒有問題,可以提交到我SVN版本庫,可以做一個自動同步程序,包括Linux開發(fā)和測試服務(wù)器上。這個SVN同步,會自動通知Linux把最新代碼進行更新。后來發(fā)現(xiàn)有問題,如果我們程序文件特別多的話,之前SVN非常慢,這樣程序員在測試完之后,提交SVN等等。
我們?yōu)榱朔奖悖驗槲覀冃枰鲆粋€預(yù)測,我們每天一個虛擬主機,我們在左邊添加一個虛擬主機,添加虛擬主機之后會把當(dāng)前目錄做到Linux上。這可以看到,在下面這是整個流程可以設(shè)置tosts為本機IP,在自己電腦上,修改完一個文件,本地調(diào)試沒有問題之后就可以提交。在Windows編寫代碼PHP 代碼文件,用Linux環(huán)境的PHP來調(diào)試,保證開發(fā)環(huán)境、測試環(huán)境生成環(huán)境統(tǒng)一。整個PHP開發(fā)環(huán)境、測試環(huán)境,即保證了程序員的快速修改,調(diào)式代碼需求,又保證整個代碼在SVN版本控制之中。
開發(fā)環(huán)境這時候又會遇到這樣一個問題,PHP代碼統(tǒng)一性保證。我們在開發(fā)環(huán)境先到線下測試環(huán)境,線下測試完之后到線上測試環(huán)境,最終到正式環(huán)境,這有很多種環(huán)境。另外我們開發(fā)項目比較多,大概10多個項目,很多項目連接到MySQL、 Memcached、接口IP,發(fā)短信,查詢下用戶數(shù)據(jù)資料他們端口各不相同,程序員經(jīng)常搞錯,或者一團霧水,這樣誰最了解服務(wù)器配器,肯定是系統(tǒng)工程師,這樣需要把二者進行分開。讓最熟悉這塊業(yè)務(wù)去做,這樣我們就開發(fā)了一個PHP擴展,還有一個kae-config管理后臺,我們在每個服務(wù)器上通過個后臺進行發(fā)布,需要做的只是系統(tǒng)工程師在不同環(huán)境,對不同服務(wù)器系統(tǒng),配置不同參數(shù),不同IP端口。
文章地址:http://www.meyanliao.com/article/other/jszy-PHPzjsyxyyzdyy.html