• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種使用Web技術(shù)快速搭建Android PHP應(yīng)用運(yùn)行環(huán)境的方法

      2015-12-07 12:11:22邢益良韓寶如裴云雷華軍
      軟件導(dǎo)刊 2015年11期

      邢益良++韓寶如++裴云++雷華軍

      摘要摘要:順利搭建Android PHP應(yīng)用運(yùn)行環(huán)境能降低開(kāi)發(fā)人員的學(xué)習(xí)難度。對(duì)運(yùn)行環(huán)境中失敗率較高的PFA安裝問(wèn)題提出了解決方法。首先搭建Web服務(wù)器,然后重定位域名,最后搭建運(yùn)行環(huán)境。實(shí)踐表明該方法具有簡(jiǎn)單、有效和不受互聯(lián)網(wǎng)干擾等優(yōu)點(diǎn)。

      關(guān)鍵詞關(guān)鍵詞:PHP; Android;Web;PFA;運(yùn)行環(huán)境

      DOIDOI:10.11907/rjdk.151889

      中圖分類(lèi)號(hào):TP301

      文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)011001103

      基金項(xiàng)目基金項(xiàng)目:海南省自然基金資助項(xiàng)目(20156237)

      作者簡(jiǎn)介作者簡(jiǎn)介:邢益良(1979-),男,海南文昌人,碩士,海南軟件職業(yè)技術(shù)學(xué)院軟件工程系講師,研究方向?yàn)檐浖こ?、?jì)算機(jī)圖形圖像處理;韓寶如(1982-),男,山東臨沂人,博士,海南軟件職業(yè)技術(shù)學(xué)院軟件工程系副教授,研究方向?yàn)閿?shù)字水印和故障診斷;裴云(1983-),男,貴州銅仁人,碩士,海南軟件職業(yè)技術(shù)學(xué)院軟件工程系講師,研究方向?yàn)閿?shù)字圖像處理、計(jì)算機(jī)技術(shù);雷華軍(1979-),男,湖南嘉禾人,海南軟件職業(yè)技術(shù)學(xué)院軟件工程系助教,研究方向?yàn)橛?jì)算機(jī)基礎(chǔ)理論。

      0引言

      PHP是一種腳本語(yǔ)言,它具有開(kāi)發(fā)簡(jiǎn)單快速等優(yōu)點(diǎn),可用來(lái)開(kāi)發(fā)Android應(yīng)用。Android PHP運(yùn)行環(huán)境是Android PHP腳本應(yīng)用的運(yùn)行和開(kāi)發(fā)基礎(chǔ)。要搭建Android PHP運(yùn)行環(huán)境,需要借助SL4A[1]和PFA(PHP for Android)[2]兩個(gè)重要應(yīng)用組件。SL4A英文名為Scripting Layer for Android,中文名為Android腳本層,它的作用是為腳本提供WiFi、藍(lán)牙、UI和語(yǔ)音合成等Android原生態(tài)服務(wù)。SL4A支持的腳本語(yǔ)言包括Python、JavaScript和PHP等。PHP腳本要訪問(wèn)SL4A原生態(tài)服務(wù)需借助開(kāi)源公司IronTec提供的開(kāi)源項(xiàng)目PFA。實(shí)質(zhì)上,PFA是運(yùn)行于Android平臺(tái)的PHP腳本解析器,PHP腳本可以通過(guò)它被解析和運(yùn)行。PFA支持PHP基礎(chǔ)語(yǔ)法、PHP部分函數(shù)、JSON數(shù)據(jù)類(lèi)型和Socket編程等內(nèi)容。關(guān)于Android PHP開(kāi)發(fā)環(huán)境,邢等人對(duì)其應(yīng)用有較系統(tǒng)的闡述,PFA方法的不足是安裝依賴谷歌網(wǎng)站。由于谷歌網(wǎng)站在國(guó)內(nèi)存在訪問(wèn)速度慢等問(wèn)題,因此PFA安裝容易導(dǎo)致Android PHP運(yùn)行環(huán)境搭建失敗。本文探討利用Web域名重定位技術(shù)搭建Android PHP開(kāi)發(fā)環(huán)境,可避免因谷歌網(wǎng)站造成環(huán)境搭建失敗問(wèn)題。

      1搭建原理

      1.1Web服務(wù)器及其域名定位方法

      WWW是World Wide Web的縮寫(xiě),簡(jiǎn)稱為Web,中文名為“萬(wàn)維網(wǎng)”,它誕生于1989年3月。Web采用的是服務(wù)器/瀏覽器體系結(jié)構(gòu),HTTP是Hyper Text Transportation Protocol(超文本傳輸協(xié)議)的縮寫(xiě),Web服務(wù)器與瀏覽器通過(guò)HTTP通信協(xié)議在互聯(lián)網(wǎng)發(fā)送和接收數(shù)據(jù)。通過(guò)HTTP協(xié)議,Web服務(wù)器不僅支持用戶瀏覽網(wǎng)頁(yè),而且支持用戶下載文件。在 HTTP 中,總是瀏覽器主動(dòng)呼叫服務(wù)器建立連接和發(fā)送HTTP 請(qǐng)求,啟動(dòng)一個(gè)事務(wù)。服務(wù)器不能主動(dòng)與客戶端聯(lián)系,也不能給客戶端發(fā)出一個(gè)回叫連接。IIS和Apache等是常見(jiàn)的Web 服務(wù)器。迄今為止,Apache是世界上使用量最高的Web服務(wù)器軟件,其可以運(yùn)行在Linux、Windows和Unix等操作系統(tǒng)中。

      用戶可以通過(guò)IP地址和域名定位Web服務(wù)器。IP地址是服務(wù)器的真實(shí)地址,雖然域名也可用來(lái)定位服務(wù)器,但它需解析成IP地址。當(dāng)用戶通過(guò)瀏覽器訪問(wèn)Web服務(wù)器時(shí),操作系統(tǒng)首先通過(guò)DNS域名解析服務(wù)器,把域名解析成IP地址,之后,運(yùn)行在操作系統(tǒng)上的瀏覽器才能對(duì)此網(wǎng)站進(jìn)行定位和訪問(wèn)網(wǎng)站數(shù)據(jù)。能否正常訪問(wèn)網(wǎng)站依賴DNS域名解析服務(wù)器是否能正常工作??焖俳馕龊驮L問(wèn)Web服務(wù)器的一種簡(jiǎn)單、有效的方法是修改文件hosts。操作系統(tǒng)規(guī)定,在域名進(jìn)行DNS域名解析請(qǐng)求之前,先檢查操作系統(tǒng)的hosts文件中是否有這個(gè)域名和IP的映射關(guān)系。如果有,則直接訪問(wèn)這個(gè)IP地址指定的網(wǎng)絡(luò)位置,如果沒(méi)有,再向DNS服務(wù)器提出域名解析請(qǐng)求。也就是說(shuō)文件hosts的IP解析優(yōu)先級(jí)比DNS要高。

      1.2運(yùn)行環(huán)境搭建原理

      Android PHP應(yīng)用運(yùn)行環(huán)境搭建原理如圖1所示,由Android手機(jī)和Web服務(wù)器兩部分組成,其中,Android手機(jī)由組件SL4A、組件PFA和文件hosts組成,手機(jī)通過(guò)文件hosts把谷歌網(wǎng)站重定向自搭建的Web服務(wù)器,組件PFA通過(guò)HTTP協(xié)議可從Web服務(wù)器下載文件自動(dòng)完成安裝工作;Web服務(wù)器為組件PFA提供文件下載服務(wù),其下載的文件包括php_extras_r3.zip等。環(huán)境搭建主要步驟:①下載環(huán)境搭建相關(guān)軟件,包括SL4A、PFA、PFA二次安裝相關(guān)文件和PHPNow等;②安裝Web服務(wù)器;③部署PFA二次安裝相關(guān)文件到Web服務(wù)器;④谷歌域名重定向自搭建Web服務(wù)器;⑤安裝SL4A和PFA組件;⑥運(yùn)行PFA組件下載PFA二次安裝相關(guān)文件,完成安裝。

      本文方法需先下載SL4A組件、PFA組件、PFA組件相關(guān)文件以及PHPNow套件,前三者可在官方網(wǎng)站或非官方網(wǎng)站http://pan.baidu.com/s/1mgknrja下載,PHPNow套件可從官方網(wǎng)站http://servkit.org/download/下載。文件清單如表1所示。

      PHPnow[4]是Win32下綠色免費(fèi)的Apache+PHP+MySQL環(huán)境套件包,PHPNow是綠色的,其具有安裝簡(jiǎn)單和集成套件等特點(diǎn)。PHPNow套件最新版本是PHPNow 1.5.6,該套件包含有Apache服務(wù)器等軟件包。本文方法應(yīng)用PHPNow建立Web服務(wù)器。

      由于在Android中首次運(yùn)行PFA組件時(shí)需從Web服務(wù)器下載PFA二次安裝文件,因此需事先在Web服務(wù)器中部署好相關(guān)文件。其相關(guān)文件應(yīng)復(fù)制部署到“Web服務(wù)器主目錄files子目錄”,因?yàn)镻FA組件會(huì)通過(guò)此目錄下載文件。

      Android中用于域名定位的文件hosts位于目錄“/system/etc”下,通過(guò)修改該文件可讓Android系統(tǒng)訪問(wèn)指定域名時(shí)轉(zhuǎn)向訪問(wèn)PC端Web服務(wù)器。文件hosts存儲(chǔ)了網(wǎng)站域名和IP地址的映射關(guān)系,每個(gè)映射關(guān)系用一行記錄表示,每行記錄具體格式是“IP地址 網(wǎng)站域名”,比如,“127.0.0.1 www.google.com”,當(dāng)訪問(wèn)域名“www.google.com”時(shí),將訪問(wèn)本機(jī)。由于Android模擬器的文件系統(tǒng)默認(rèn)為只讀屬性,因此要修改hosts文件需要把只讀改為可讀寫(xiě)屬性。要修改文件hosts還需要用戶具有root權(quán)限。

      2實(shí)驗(yàn)過(guò)程和結(jié)果

      本文方法在Win7+Android模擬器中運(yùn)行通過(guò),Android版本為2.3.3。

      2.1PHPNow搭建Web服務(wù)器

      要安裝Web服務(wù)器,先把PHPNow套件解壓到某個(gè)目錄中,比如解壓目錄為“C:PHPNow”;然后執(zhí)行解壓目錄中的Setup.cmd命令文件,該命令文件執(zhí)行過(guò)程會(huì)以命令方式提示用戶選擇Apache服務(wù)器和MySQL數(shù)據(jù)庫(kù)選項(xiàng),以及設(shè)置MySQL用戶密碼;用戶按提示選擇和設(shè)置好密碼后,系統(tǒng)會(huì)自動(dòng)搭建好一個(gè)Apache+PHP+MySQL環(huán)境。事實(shí)上本文方法只需要Apache服務(wù)器。要測(cè)試Web服務(wù)器是否已安裝成功,可在瀏覽器中輸入“http://127.0.0.1/”,如果能顯示PHPNow主界面,表明環(huán)境搭建成功,否則表示失敗。圖2是PHPNow主界面。

      2.2部署PFA二次安裝文件

      要查看Apache服務(wù)器主目錄,可在PHPNow主界面中查看“網(wǎng)站主目錄”項(xiàng),該項(xiàng)通常為“C:/PHPnow-1.5.6/htdocs”。要部署PFA二次安裝文件,可先在網(wǎng)站主目錄中建立子目錄files,再把文件拷貝到目錄“C:PHPnow-1.5.6htdocsfiles”中。

      2.3修改hosts快速定位域名

      可在Windows命令窗口中輸入“adb root”和“adb remount”命令,讓Android模擬器成為root用戶及讓文件系統(tǒng)具有讀寫(xiě)屬性。之后輸入“adb shell”進(jìn)入模擬器的shell控制臺(tái),通過(guò)echo命令和重定位符為hosts文件添加新的域名定位數(shù)據(jù),具體命令如下:

      echo 10.0.2.2 android-scripting.googlecode.com >> /system/etc/hosts

      echo 10.0.2.2 php-for-android.googlecode.com >> /system/etc/hosts

      當(dāng)模擬器訪問(wèn)android-scripting.googlecode.com和php-for-android.googlecode.com域名時(shí),其將轉(zhuǎn)向訪問(wèn)IP為10.0.2.2的PC電腦,Android模擬器會(huì)自動(dòng)將PC電腦IP設(shè)置為10.0.2.2(等同于PC本機(jī)的IP地址127.0.0.1)。如果要使修改后的配置在重啟模擬器后仍然有效,則需要先設(shè)置模擬器的Snapshot屬性,置值為Enabled。

      2.4安裝SL4A和PFA組件

      要在模擬器上安裝SL4A和PFA組件,可在Windows命令窗口中輸入adb命令實(shí)現(xiàn),具體如下:

      adb install sl4a_r6.apk

      adb install phpforandroid_r1.apk

      在模擬器中單擊PFA圖標(biāo)進(jìn)入安裝界面并單擊“Install”按鈕,將自動(dòng)進(jìn)行PFA第二次安裝。圖3對(duì)PFA二次安裝正常和異常狀態(tài)進(jìn)行了比較。其中,圖3(a)是在文本方法支持下正常安裝解壓過(guò)程,圖3(b)是未在本文方法支持下,網(wǎng)絡(luò)問(wèn)題造成PFA在等待下載,網(wǎng)絡(luò)超時(shí)后將導(dǎo)致安裝失敗。

      2.5測(cè)試運(yùn)行環(huán)境

      在Android中點(diǎn)擊SL4A圖標(biāo)進(jìn)入SL4A管理器,能看到系統(tǒng)默認(rèn)安裝好的PHP實(shí)例,其結(jié)果如圖4所示。點(diǎn)擊文件“hello_world.php”圖標(biāo)運(yùn)行腳本,如果跳出對(duì)話框則說(shuō)明Android PHP運(yùn)行環(huán)境搭建成功,運(yùn)行結(jié)果如圖5所示。

      3結(jié)語(yǔ)

      本文方法對(duì)開(kāi)發(fā)人員具有簡(jiǎn)單、快速和穩(wěn)定等優(yōu)點(diǎn),大大降低了Android PHP應(yīng)用開(kāi)發(fā)初學(xué)者的學(xué)習(xí)難度。但不足的是,本文方法面向普通用戶表現(xiàn)出復(fù)雜度高等問(wèn)題,下一步的工作是面向普通用戶降低環(huán)境搭建難度。

      參考文獻(xiàn)參考文獻(xiàn):

      [1]R J MATTHEWS.API reference (release R6) [EB/OL]. http://code.google.com/p/androidscripting/wiki/ApiReference,2015110.

      [2]IROTEC. PHP for Android project(PFA)[EB/OL]. http://phpforandroid.net,2014121.

      [3]邢益良,裴云,陳敏. PHP Web和Android開(kāi)發(fā)入門(mén)與實(shí)踐[M]. 北京:清華大學(xué)出版社,2014.

      [4]SERVKIT.PHPow是什么[EB/OL].http://servkit.org, 2015110.

      責(zé)任編輯(責(zé)任編輯:杜能鋼)

      嘉禾县| 准格尔旗| 盘锦市| 孝感市| 札达县| 米易县| 福海县| 金寨县| 两当县| 台北市| 游戏| 曲水县| 化德县| 辽阳市| 都兰县| 墨玉县| 酉阳| 万载县| 龙江县| 南皮县| 吕梁市| 五家渠市| 安泽县| 洛扎县| 西平县| 林西县| 浦北县| 洛南县| 固始县| 吕梁市| 高安市| 什邡市| 车险| 宜城市| 临武县| 芒康县| 射阳县| 长武县| 和龙市| 酉阳| 卫辉市|