Post view

PHP的IDE整合開發環境:Eclipse 4.4 for Windows

Mac OS X版本請參考這篇文章: PHP的IDE整合開發環境:Eclipse 4.4 for Mac OS X

PHP是「Hypertext Preprocessor」的縮寫,這是用來撰寫「網站系統」的一種電腦程式語言,使用這種電腦程式語言,可以在不需要任何Compiler編譯器的情況下,由Web Server直接執行PHP的原始程式碼來產生動態的網頁畫面。所謂的「動態的網頁畫面」並不是指「動態影片,動畫的網頁」,而是該網頁本身並不存在,完全不像早期的「HTML網頁」全部都是由靜態的 index.html 之類的純文字文件的「HTML檔案」所組成,如果網站管理人員不修改「HTML網頁」內容,那麼任何人都會看到完全相同的網頁畫面(當然網頁上可以包含 .gif 動態圖片,影片,聲音等)。

然而「動態網頁」的「HTML檔案」完全不存在伺服器電腦上!而是由PHP程式的「列印」指令,把所需的「HTML」網頁內容列印給使用者的瀏覽器,由瀏覽器來接收PHP產生的「虛擬HTML檔案」來看到網頁內容。

以insoler網站來說,全網站上都沒有任何的「HTML檔案」你看到的網頁,全部都是由PHP程式列印輸出而產生的。其他的Facebook、Yahoo等網站,也是使用相同的技術。笑い

早期電腦程式語言的「Compiler編譯器」只有「命令列」的編譯程式環境,連「視窗界面」都沒有,所以需要另外的「純文字編輯器」來編寫原始程式碼,還需要提供「Debug除錯器」來協助程式設計者,可以更方便地找出程式碼裡面的Bug臭蟲。也因此像是當年在MS-DOS時代的「Turbo C」之類的電腦程式編輯器,就從簡陋的「命令列」模式,設計成純文字環境的視窗操作方式的「IDE」界面,之後進入Windows時代,就變成純圖形視窗操作界面的「IDE」程式。

IDE是Integrated Development Environment的縮寫,事實上,現在的「電腦程式語言」已經沒有簡陋的「純文字命令列Compiler編譯器」(Linux不予討論),所有的電腦程式語言的編寫環境,全部都是IDE模式,通通都有內建「Editor文字編輯器」「Compiler編譯器」「Debug除錯器」,方便程式設計者可以更簡單方便,快速的專注在程式開發上。笑い

只有某些少數例外的「電腦程式語言」不但沒有簡陋的「命令列Compiler編譯器」,甚至連「IDE程式開發環境」都欠缺!而其中的「PHP」這種網頁專用電腦程式語言,就是其中的一種。

為什麼「PHP」會不像C、C++、Objective-C、C#、Visual Basic、Visual Pascal (Delphi) 等「電腦程式語言」一樣,擁有完整的IDE電腦程式開發環境?未決定答案很簡單,最大的問題就是「免費」!在微軟、Borland等廠商們無利可圖的情況下,根本沒人願意投資開發一套「完全免費」的IDE系統!也因此任何只要是關於「免費」的東西,通常也代表著極度的簡陋,難以使用!

雖然也有某些「免費」又好用的東西,但畢竟是少數。在幾十萬,幾百萬個「智慧手機」上的App,絕大多數「完全免費」(不是之後要另外收費)大多都是爛App!畢竟一家「商業公司」開發出一個App需要請好幾位電腦程式設計師,投資許多的金錢與時間,卻全部都「永久免費下載」我不認為會有這種公司!包括「Line」這種廣為使用的App也不例外!


PHP(全稱:PHP:Hypertext Preprocessor,即「PHP:超文字預處理器」)是一種開源的通用電腦指令碼語言,尤其適用於網路開發並可嵌入HTML中使用。PHP的語法借鑒吸收了C語言、Java和Perl等流行電腦語言的特點,易於一般程式設計師學習。PHP的主要標的是允許網路開發人員快速編寫動態頁面,但PHP也被用於其他很多領域。

PHP的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,透過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行,而且使用PHP完全是免費的。根據2007年4月的統計資料,PHP已經被安裝在超過2000萬個網站和100萬台伺服器上。

PHP on Microsoft Windows PHP 5.5.8 是由 Microsoft VC11 所編譯;其將不支援舊有的 Windows XP 系統。


整合開發環境(Integrated Development Environment,簡稱IDE,也稱為Integration Design Environment、Integration Debugging Environment)是一種輔助程式開發人員開發軟體的應用軟體。

IDE通常包括程式語言編輯器、自動建立工具、通常還包括除錯器。有些IDE包含編譯器/直譯器,如微軟的Microsoft Visual Studio,有些則不包含,如Eclipse、SharpDevelop等,這些IDE是通過調用第三方編譯器來實現代碼的編譯工作的。有時IDE還會包含版本控制系統和一些可以設計圖形用戶界面的工具。許多支援物件導向的現代化IDE還包括了類別瀏覽器、物件檢視器、物件結構圖。雖然目前有一些IDE支援多種程式語言(例如Eclipse、NetBeans、Microsoft Visual Studio),但是一般而言,IDE主要還是針對特定的程式語言而量身打造(例如Visual Basic)。


既然「PHP完全是免費的」就不例外的,表示PHP整套系統極為簡陋!甚至研發PHP的團隊都沒有幫PHP自己寫一套簡單好用的IDE出來!導致你想要找一套「簡單好用」「PHP整合開發環境的IDE程式」就變得居指可數,找到的「免費IDE」大多都很難用!

當然,要付費的PHP IDE也不見得好用!畢竟這些IDE全部都不是PHP團隊設計出來的程式!

如果像我們一樣,想要找一套能支援Windows與Mac OS X系統平台(像是Adobe CS或CC系列,以及微軟的Office系列),更是「天方夜譚」!這種「PHP IDE」根本就不存在!主要理由當然是「無利可圖」!自然沒有人想做。

網路上能找到同時Windows與Mac OS X的系統,只有一些使用JAVA語言開發出來的「半整合系統」!這些號稱「IDE」的系統都不是專為開發PHP而設計!而且全都是因為「開放原始碼」的緣故,全都共用相同原始碼,導致實際的IDE程式根本就大同小異!頗有相互抄襲之嫌!

叫做「Eclipse」就是這樣的一套IDE系統!由於是使用JAVA電腦語言撰寫而成,導致無論是Windows還是Mac OS X都必須事先安裝JAVA才能繼續安裝Eclipse。

由於Eclipse完全不需要「安裝」,就連Windows版本都沒有「安裝精靈」!當然連安裝時的「下一步」按鈕都沒有。我們只要下載Eclipse網頁上的「Developer Builds」開發版網頁底下的「Eclipse for PHP Developers」,解開壓縮以後,把「Eclipse」檔案夾拖到「應用程式」裡面就可以使用了。

http://www.eclipse.org/downloads/

歡迎畫面看起來似乎很簡單的樣子,但明明「極為複雜的系統」卻變得異常簡單,看到這樣的「歡迎畫面」反而讓我不知道接下來要做什麼?

開啟Eclipse要先設定一個「Workspace」工作空間的檔案夾位置。

eclipse44win001.jpg

要使用「IDE整合開發環境」的「Debug除錯功能」,必須先「手動設定」好PHP的除錯環境,才能繼續使用Eclipse。畢竟是「免費IDE」不能像「付費IDE」那樣強求,只要按「下一步」把Eclipse「安裝」好就全部都能用了!

我們使用的是普通版本的Windows XP,而不是Windows Server伺服器版本。雖然標準版現在已經不含「IIS Server」網頁功能,但我們也不需要「IIS Server」,只要安裝「WAMP」就可以開發簡單的PHP程式並除錯。

1. 找到「WAMP」放置php.ini檔案的位置,通常是:

C:\wamp\bin\apache\Apache2.4.4\bin\php.ini

由於「WAMP」版本的差異,實際的安裝位置請自行確認一下。

2. 加入底下的設定。請注意,不同的「WAMP」版本,可能「c:/wamp/bin/php/php5.4.16/」這個檔案夾名稱會不同,請自行確認清楚):

[xdebug]

zend_extension = "c:/wamp/bin/php/php5.4.16/ext/php_xdebug.dll"

xdebug.profiler_enable = On

xdebug.profiler_enable_trigger = On

;xdebug.profiler_output_name = cachegrind.out.%t.%p

xdebug.profiler_output_dir =C:\Documents and Settings\All Users\Application Data\phpDesigner\XDebugCache

xdebug.remote_enable=true

xdebug.remote_host=localhost

xdebug.remote_port=9000

xdebug.remote_handler=dbgp

xdebug.profiler_output_name = "cachegrind.out.%p"

xdebug.profiler_enable = 0

xdebug.profiler_append=0

xdebug.extended_info=1

xdebug.remote_mode=req

xdebug.idekey=xdebug

xdebug.remote_log="c:/wamp/tmp/xdebug/xdebug_remot.log"

xdebug.show_exception_trace=0

xdebug.show_local_vars=9

xdebug.show_mem_delta=0

xdebug.trace_format=0

3. 點選「WAMP」的「重新啟動所有服務」讓php.ini的設定生效。然後隨便新增一個「phpinfo.php」這個簡單的PHP程式,來確認XDebug除錯模組有沒有正確開啟?

phpinfo();
?>

這個程式必須在瀏覽器上執行,例如:「http://localhost/phpinfo.php」。如果你不斷尋找網頁畫面,都找不到畫面上有XDebug字樣,那就表示沒有設定好,只好再檢查一下,你做錯了哪一步?

然後點選Eclipse的「Window / Preferences」再點選「PHP」項目底下的「Debug」就會看到這樣的畫面,請在「PHP Debugger」點選「XDebug」,然後按一下藍色底線的「PHP Executable」字樣:

eclipse44win002.jpg

請注意,如果你下載錯誤的Eclipse版本,就會看不到PHP這一項!你只能重新下載,或是再到Eclipse裡面下載PHP支援模組!包括「繁體中文語系」或是「日文語系」都必須透過Eclipse的下載功能,再另外下載。這種下載一個程式,還要繼續下載更多支援模組、語系的功能,可說是「Linux」的標準模式!

是的!這套系統根本就不是針對Windows與Mac OS X而開發的!而是針對「Linux」開發的IDE系統!但是這種先下載一個程式,再不斷下載更多模組回來的動作,在Windows上,只會被認定為「病毒、木馬」!

到這個畫面先按「Add」手動新增PHP的除錯模組。

eclipse44win003.jpg

然後手動輸入底下的設定。請注意,這不是每一台電腦,每一台Windows都一樣!你必須手動確認你的Windows的PHP路徑,基本上應該是在相同的位置上,但也有使用「WAMP」系統來架設網站等不同情況,這時候的PHP就不會是在預設位置上。

事實上連一些使用PHP設計的網頁系統,都會自動尋找一些模組,比如MySQL、ImageMagick等,像這種完全不會「自動搜尋」只能手動輸入,而且畫面的「欄位」上一片空白,會讓完全不懂PHP的「初學者」連最簡單的「安裝設定」這種事情都無法完成!

eclipse44win004.jpg

設定好PHP的XDebug以後,就能用Eclipse功能表上的「File / Open File...」來開啟一個PHP書附光碟的「範例程式」然後來除錯、追蹤程式?答案是「這是絕對不可能的任務」!

直接點選「File / Open File...」再點選想要除錯的PHP檔案,然後點選「Run / Debug」你只會看到「Specified script not be found」這個錯誤訊息!

eclipse44win005.jpg

這個錯誤訊息到底是什麼意思?「script」在這裡是只「程式碼」的意思,簡單的說,這個錯誤訊息就是「File not found」找不到指定的PHP檔案!

我明明就在畫面上有開啟一個「11-1.php」的檔案,而且檔案也正常的開啟成功,為什麼會出現找不到指定的PHP檔案?未決定

那是因為Eclipse不理會你用「File / Open File...」所開啟的任何 .PHP 檔案!當然也就認為你根本沒有開啟任何的PHP程式,也就無法進入「程式除錯」模式!

嗯~看到這裡,大概某些「專業級PHP程式設計師」會跟你說絕對可以!安裝並設定好Eclipse的PHP與XDebug之後,只要用「File / Open File...」開啟其他你想要除錯的任何PHP檔案(檔案可放在任何你想要放的位置,不一定必須要放在「網頁根目錄」底下),就可以正常的除錯。那我可以跟你說,你去想辦法找到這種「密技」吧~

因為理所當然「Open File...」然後選「Run / Debug」就可以除錯的事情,在正常的情況下是絕對辦不到的!除非你知道「密技」!

既然「File / Open File...」行不通,那就只能點選「File / New / PHP Project」或是「File / New / PHP File」了。

eclipse44win006.jpg

我點選的是「File / New / PHP Project」,接下來隨便輸入一個「test」的計劃名稱,絕對不能直接按「Finish」完成!這會導致你的test計劃裡面一片空白!接下來的動作就更難完成!

就像對話窗畫面上顯示的那樣,這時候Eclipse會在啟動Eclipse時指定的「workspace」底下新增一個叫做「test」的檔案夾。所以路徑就變成「workspace/test」。

eclipse44win007.jpg

按「Next」下一步,然後點選「Defult Configuration」預設組態。

eclipse44win008.jpg

畫面看起來就像這樣,然後才能按「Finish」完成!

eclipse44win009.jpg

除了「File / New / PHP Project」以外,你也可以點選「File / New / PHP File」這個項目:

eclipse44win010.jpg

然而,在「workspace/test」這個檔案夾底下,無論你手動copy多少個PHP範例程式檔案進去都沒用!Eclipse完全不理會直接放在「workspace/test」檔案夾底下的PHP檔案!但Aptana Studio 3會自動讀取「test」檔案夾底下的PHP程式檔,所以不會有不能使用自己動手複製進去的PHP檔案的問題。

所以無論你把多少PHP程式檔手動複製到「workspace/test」底下,在這裡都完全看不到任何檔案!點選「test」檔案夾,底下將會是空白一片!也難怪前面會有「Specified script not be found」錯誤訊息!

既然Eclipse不理會我們複製到「workspace/test」底下的PHP檔案,也沒辦法用「File / Open File」開啟任何放在其他檔案夾底下的PHP程式(只要使用密技即可),唯一的辦法就只有「File / New / PHP File」,點選「test」檔案夾。

eclipse44win011.jpg

然後隨便輸入一個新的PHP檔案名稱,也可以直接使用預設的「newfile.php」再按「Finish」完成按鈕。

eclipse44win012.jpg

Eclipse會自動幫你建立一個「

然後把你想要除錯的PHP程式全部複製貼上到這個檔案裡面。

eclipse44win014.jpg

通常點選「Run / Debug」就可以進入PHP程式的除錯追蹤模式,但如果不會,只好點選「Run / Debug Configurations」設定除錯組態。

eclipse44win015.jpg

在「PHP CLI Application」底下的「New_Configurations」按右鍵點選「Delete」刪除。

eclipse44win016.jpg

再按右鍵點選「PHP CLI Application」的「New」建立一個新的組態設定。

eclipse44win017.jpg

要除錯的檔案當然是「test / newfile.php」。

eclipse44win018.jpg

然後按「Debug」就應該可以進入除錯模式。

eclipse44win019.jpg

進入除錯模式以後,就可以一步一步來追蹤程式的執行過程,也可以監看「Variablies變數值」。

eclipse44win020.jpg

多按幾次「Step Into F5」功能鍵,就可以逐步追蹤程式的執行步驟。比如底下是執行到「2 x 5 = 10」這一步。

eclipse44win021.jpg

由於Eclipse需要非常複雜的設定手續,而且還不能用「File / Open File」隨便開啟任何一個PHP程式碼來除錯(除非你使用「密技」!)建議你還是早點放棄,改用更好的「phpDesigner 8」這套IDE程式!

「phpDesigner 8」完全不需要安裝JAVA,甚至也不用另外安裝設定PHP、php.ini與XDebug,只要把「phpDesigner 8」安裝好之後,就能隨便開啟任何一個PHP程式碼來除錯了!

eclipse44win022.jpg

雖然「phpDesigner 8」是付費程式,要付費購買才能繼續使用,但光是「可以隨便開啟任何一個PHP程式碼來除錯」,而且是真正針對Windows環境而開發設計的PHP IDE工具,而不是假冒JAVA來做出來的假Windows程式,光是「簡單易用」這點就值得付費!

eclipse44win023.jpg

非常可惜的是「phpDesigner 8」沒有for Mac OS X專用版本,不然我也很想要付費買一套來用!既然Eclipse、Aptana Studio 3、NetBeans... 這些用「Java」寫出來的跨平台IDE這麼難用,那麼我在OS X Server上又是使用哪一套PHP IDE來開發或是修改網站程式?未決定

答案是BBEdit這個純文字編輯器而已!

我根本就不屑使用Linux系統發展出來的任何工具程式,也因此與其跟這些爛工具奮戰,又沒有超好用的「phpDesigner 8 for Mac OS X」可買,那麼我寧可不要受罪、受Linux爛工具的氣!

蘇言霖 2014/01/28 2 5362
Comments
Order by: 
Per page:
 
  •  蘇言霖: 
     

    我絕對不會向Eclipse回報任何Bug!像這樣明顯的問題,而且把Eclipse同時安裝在Windows 7與Mac OS X 10.9與Mac OS X 10.6.8,完全不同的三台電腦主機上,卻有完全相同的問題,基本上根本不需要我回報,應該是大家都知道才對!

    既然Eclipse團隊不知,其他人也不想回報解決那就算了。反正我還不如直接換「phpDesigner 8」還比較實在!不需要浪費生命跟Eclipse糾纏!

     
     2014/02/08 
    0 points
     
  •  ayaka: 
     

    有问题可以报bug阿

    vim路过

     
     2014/02/03 
    0 points
     
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2014/01/28 (3909 days ago)
Actions