成人免费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

2015-07-02 14:38:44

2009-12-02 19:51:54

PHP Switch語

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

2010-06-17 10:22:47

PHP

2019-07-18 11:00:45

自動化運維測試

2009-11-26 10:48:59

PHP驗證碼

2011-03-22 09:45:56

Windows AzuSilverlight

2011-03-22 10:03:55

Windows AzuSilverlight
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一二区 | 中文字幕一区二区三区精彩视频 | 国产日韩精品一区二区三区 | 91视频www.| www.99热| 亚洲第一av | 欧美久久久久 | 久久成人一区 | 精品一区二区三 | 久久成人一区 | 亚洲黄色av | 亚洲欧美日韩精品久久亚洲区 | 二区高清| 啪啪网页| 日韩午夜在线播放 | 国产一级片网站 | 国产乱人伦精品一区二区 | 欧美色综合一区二区三区 | 国产精品久久久久久久久久久久 | 久久免费观看视频 | 亚洲一区精品在线 | 成人动慢 | 亚洲字幕在线观看 | 久久久久久久久久久爱 | www312aⅴ欧美在线看 | 欧美日韩国产一区二区三区 | 日韩成人精品一区二区三区 | 精品久久久网站 | 欧美日韩在线一区二区三区 | 欧美一级片在线看 | 国产91丝袜 | 影音先锋成人资源 | 一区二区三区国产好 | 久久精品小视频 | 欧美福利网站 | 免费看国产片在线观看 | 成人欧美一区二区三区色青冈 | 国产国拍亚洲精品av | 午夜欧美| 精区3d动漫一品二品精区 | 国产九九精品视频 |