成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用PDT在Eclipse中調試PHP應用實例

開發 后端
本文介紹如何利用PDT在Eclipse中調試PHP應用的實例。Eclipse中提供了PHP Development Toolkit(以下簡稱PDT)幫助使用Eclipse的開發者進行PHP應用的開發,但是聯機調試PHP應用卻并不容易。

時下,Eclipse作為最流行的集成開發環境之一,廣受開發者尤其是Java開發者的青睞,51CTO也為讀者們做過一次“Eclipse到底是個什么玩意”的連載。在連載中51CTO除了介紹Eclipse對Java開發的支持,在第二部當中還提到Eclipse提供了PHP Development Toolkit(以下簡稱PDT),幫助使用Eclipse的開發者進行PHP應用的開發,但在PDT中,調試PHP應用,尤其是聯機調試PHP應用卻并不容易,碰巧在sMash開發過程中找到了一些聯機調試的方法,在這里分享給大家。

準備工作

要通過Eclipse開發調試PHP應用,當然Eclipse的開發環境是少不了的,在這里可以下載到Eclipse for PHP Developers。另外,如果采用sMash進行PHP的開發調試,需要先下載WebSphere sMash DE 并解壓到sMash的安裝目錄。以下是下載地址http://www.projectzero.org/sMash/1.1.x/download/然后,在Eclipse中通過以下站點,更新WebSphere sMash feature for PDT 2.0.x https://www.projectzero.org/zero/indy.dev/latest/update/zero.eclipse.php/

安裝WebSphere sMash feature for PDT 2.0.x后,需要在Eclipse的preference中(點擊菜單Window -> Preferences便可進入)指定WebSphere sMash的安裝目錄(如圖中的E:\apps\zero)

  

#p#

通過sMash進行調試

WebSphere sMash是一套Web應用程序的開發和運行環境,sMash中攜帶的P8運行時能支持PHP應用程序的運行,同時sMash為Eclipse提供的sMash開發環境也能很好的支持PHP應用程序的開發調試。我認為通過sMash開發調試PHP應用能帶來三個好處:

PHP項目直接依賴于sMash運行環境,啟動PHP項目就啟動了sMash的Web服務器,不再需要應用部署的過程。

P8運行時自身攜帶PHP調試器,無需擴展就能支持PHP應用的聯機調試。同時P8支持最新的Java運行時,PHP開發者不僅能調用PHP擴展庫中提供的功能也能方便地調用Java類庫中的豐富功能。

sMash項目以組件化的方式組織項目依賴,能以組建化的方式開發PHP應用,同時,由于sMash已在多個公共云和私有云服務上提供鏡像,可以將PHP等腳本開發應用引入云計算。

不過,因為P8運行時并非支持所有的PHP擴展,所以一些非常用的PHP擴展庫可能無法再sMash上運行。

要在sMash上調試PHP應用,首先需要在Eclipse中新建一個WebSphere sMash PHP application項目,第一次創建sMash PHP項目時,由于sMash需要從遠程的repository中下載p8 php runtime,所以需要等待一段時間。

 

完成項目創建后可以看到如下目錄結構

 

 config/php.ini中可以配置p8運行時的PHP擴展庫
所有的PHP頁面都應存放在public目錄下,public目錄下的所有文件都可以按照web url的方式在sMash應用服務器上進行訪問。

在public目錄下,可以創建一個演示用的php頁面helloworld.php,文件內容如下:

  1. <html> 
  2. <body> 
  3. <form method="POST"> 
  4. <label>Name:</label> 
  5. <input type="text" name="name"></input> 
  6. <input type="submit" name="submit" value="Submit"></input> 
  7. </form> 
  8. <p> 
  9. <?php   
  10. if(isset($_POST['submit']))  
  11. {  
  12.  $name = $_POST['name'];  
  13.  if(!empty($name)){  
  14.  echo "Hello $name! ";  
  15.  }else{  
  16.  echo "Hello World! ";  
  17.  }  
  18. }  
  19. echo "Welcome to WebSphere sMash.";  
  20. ?> 
  21. </p> 
  22. </body> 
  23. </html> 

雙擊php代碼段的第一行設置斷點,右鍵單擊php項目testphp,選擇Debug As -> WebSphere sMash Application,就可以啟動sMash服務器,并在sMash上調試該應用程序。

#p#

按照默認設置,sMash會監聽8080端口上的請求,并轉發給testphp進行處理。可以通過http://localhost:8080/helloworld.php 來訪問上文新建的php頁面。在訪問頁面的同時,Eclipse會進入sMash的Debug Perspective,由此就可以像在eclipse中調試Java Application一樣調試sMash PHP應用程序,所有的運行狀態都會反映在Debug Perspective中的各個視圖中。Debug視圖中可以看到PHP調用的Stack Trace以及運行的線程,Variables視圖中羅列了當前運行狀況下的變量信息,PHP編輯器中是當前運行的代碼信息。

 

通過xdebug進行調試

由于PHP.net上提供的PHP運行時沒有調試功能,因此如果需要在此運行時上調試PHP應用,則需要通過第三方擴展庫進行。Eclipse for PHP Developers集成對xdebug的支持,因此推薦在php.net提供的運行時上安裝xdebug然后通過eclipse進行調試。當然如果還沒有安裝php.net運行時,必須先安裝Apache HTTP Server和php.net提供的PHP運行時。

要安裝xdebug擴展,需要先獲取php運行時的信息。創建一個test.php文件,內容如下:

  1. <?php phpinfo();?> 
  2.  

將test.php放在php運行時所在的http服務器上,訪問test.php頁面可以得到php運行時的信息。

復制頁面,并將信息粘貼至此URL http://xdebug.org/find-binary.php 頁面中的文本框。點擊Analyse my phpinfo() output。就可以獲得根據php運行時信息所生成的安裝指南,根據安裝指南,下載xdebug并設置完成php.ini,重啟http服務器,xdebug就可以運作了。

 

用xdebug調試需要新建PHP項目。

#p#

 

創建完項目就可以在項目中,新建PHP頁面并設置斷點。通過右鍵點擊PHP文件,選擇Debug As -> Debug Configuration就可以開始配置調試器

 

新建一個PHP Web Page類別的配置,選擇XDebug作為調試器,并選擇服務器,圖中的Default PHP Web Server是localhost。選擇需要調試的php頁面和在服務器端的位置。點擊Debug,就可以通過訪問在服務器上的php頁面開始調試。因為Eclipse沒有PHP頁面的部署功能,因此需要開發者自己復制項目中的PHP頁面到服務器端,并且確保服務器端的頁面和Eclipse項目中的PHP頁面的一致性。

下圖就是Eclipse中的PHP Debug Perspective,其中的各個視圖顯示PHP代碼的運行狀態。

【編輯推薦】

  1. Eclipse倒地是個什么玩意
  2. Eclipse 3.6——Java開發者的新選擇
  3. Eclipse 3.6版本正式發布 代號“太陽神”
  4. Eclipse 3.6新特性與應用詳解
責任編輯:佚名 來源: developerWorks
相關推薦

2009-06-02 10:02:50

eclipse jboeclipse jbojboss for e

2009-06-17 17:44:41

Eclipse插件Sp

2009-02-04 09:04:58

EclipsePDT層次試圖

2010-11-25 10:05:22

Visual StudSilverlightWCF

2010-06-12 16:41:10

BlackBerry開

2020-03-07 18:51:11

EclipseFedoraPHP

2009-06-02 15:20:16

eclipse tomtomcatplugitomcatplugi

2009-12-02 19:51:54

PHP Switch語

2015-07-02 14:38:44

2009-05-27 14:31:53

NetBeansEclipsPHP

2009-09-11 13:03:48

Scope屬性

2009-06-05 14:59:31

Eclipse中配置T

2012-06-08 09:28:15

EclipseScalaAndroid

2011-09-13 17:44:00

Eclipse And

2023-09-28 11:42:15

2019-07-18 11:00:45

自動化運維測試

2009-11-26 10:48:59

PHP驗證碼

2010-06-17 10:22:47

PHP

2011-03-22 09:45:56

Windows AzuSilverlight

2011-03-22 10:03:55

Windows AzuSilverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲交性 | 日韩中文一区二区三区 | 成人毛片在线观看 | 久久高清| 在线天堂免费中文字幕视频 | 久久精品一区 | 激情婷婷| 亚洲欧美久久 | 色婷婷亚洲国产女人的天堂 | 在线观看国产视频 | 在线视频一区二区 | 放个毛片看看 | 黄色一级大片在线免费看产 | 日韩成人精品一区二区三区 | 亚洲综合婷婷 | 国产 欧美 日韩 一区 | 日本黄色免费大片 | 欧美中文在线 | 日韩中文字幕在线视频 | 北条麻妃99精品青青久久主播 | 色性av | 国家aaa的一级看片 h片在线看 | 午夜精品久久久 | 日本不卡高清视频 | 国产污视频在线 | 日韩在线免费看 | 在线一区 | 国产一区二区观看 | 中国免费黄色片 | 午夜久久久久久久久久一区二区 | 午夜视频一区二区 | 欧美日韩不卡 | 欧美在线一区二区视频 | 国产欧美一区二区三区日本久久久 | 精品国产一区二区三区久久狼黑人 | 色综合激情| 亚洲日韩欧美一区二区在线 | 国产在线成人 | 午夜精品一区 | 亚洲国产精品一区二区三区 | 91精品国产综合久久久久 |